> php教程 > php手册 > 본문

Node.js를 기반으로 개발된 KoaHub.js는 세션 함수 코드를 가져오거나 설정합니다.

WBOY
풀어 주다: 2016-10-09 08:32:20
원래의
1079명이 탐색했습니다.

프로젝트에서 Babel을 사용하지 않는 경우 Babel 없이 이 버전을 사용해 볼 수 있습니다.
koa 세션2
Redis 또는 Babel이 포함된 mongodb와 같은 사용자 정의 스토어에서 세션 사용을 가져오거나 설정하는 Koa2용 미들웨어
koa 세션2
Redis 또는 Babel이 포함된 mongodb와 같은 사용자 정의 스토어에서 세션 사용을 가져오거나 설정하는 Koa2용 미들웨어

프로젝트에서 Babel을 사용하지 않는 경우 Babel 없이 이 버전을 사용해 볼 수도 있습니다.

설치npm install koa-session2사용import Koa from "koa";<br> import session from "koa-session2";<br>  <br> const app = new Koa();<br>  <br> app.use(session({<br>     key: "SESSIONID",   //default "koa:sess" <br> }));"koa"에서 Koa 가져오기; "koa-session2"에서 세션 가져오기;  
const app = 새로운 Koa();import Redis from "ioredis";<br> import {Store} from "koa-session2";<br>  <br> export default class RedisStore extends Store {<br>     constructor() {<br>         super();<br>         this.redis = new Redis();<br>     }<br>  <br>     async get(sid) {<br>         return await this.redis.get(`SESSION:${sid}`);<br>     }<br>  <br>     async set(session, opts) {<br>         if(!opts.sid) {<br>             opts.sid = this.getID(24);<br>         }<br>         await this.redis.set(`SESSION:${opts.sid}`, session);<br>         return opts.sid;<br>     }<br>  <br>     async destroy(sid) {<br>         return await this.redis.del(`SESSION:${sid}`);<br>     }<br> }  import Koa from "koa";<br> import session from "koa-session2";<br> import Store from "./Store.js";<br>  <br> const app = new Koa();<br>  <br> app.use(session({<br>     store: new Store()<br> }));<br>  <br> app.use(ctx => {<br>     let user = ctx.session.user;<br>  <br>     ctx.session.view = "index";<br> }); app.use(세션({     키: "SESSIONID",   //기본값 "koa:sess"  }));
맞춤형 스토어<br> Store.js<br>'ioredis'에서 Redis 가져오기<br> "koa-session2"에서 {Store} 가져오기;<br>  <br> 기본 클래스 내보내기 RedisStore 확장 Store {<br>     생성자() {<br>         슈퍼();<br>         this.redis = new Redis();<br>     }<br>  <br>     비동기 get(sid) {<br>         반환 대기 this.redis.get(`SESSION:${sid}`);<br>     }<br>  <br>     비동기 세트(세션, 옵션) {<br>         if(!opts.sid) {             opts.sid = this.getID(24);         }         wait this.redis.set(`SESSION:${opts.sid}`, session);         opts.sid 반환;     }       비동기 파괴(sid) {         반환을 기다리고 this.redis.del(`SESSION:${sid}`);     } }main.js"koa"에서 Koa 가져오기; "koa-session2"에서 세션 가져오기; "./Store.js"에서 Store 가져오기;   const app = 새로운 Koa();   app.use(세션({     상점: 새 스토어() }));   app.use(ctx => {     let 사용자 = ctx.session.user;       ctx.session.view = "색인"; });옵션 쿠키를 기반으로 하는 대부분의 옵션키: 쿠키의 세션 ID 저장 문자열 store: 맞춤 스토어를 위한 클래스({Store} 확장, func: #get(sid), #set(session, opts), #destory(sid)) maxAge: Date.now()에서 만료되는 밀리초를 나타내는 숫자 만료: 쿠키의 만료 날짜를 나타내는 날짜 개체(기본적으로 세션 종료 시 만료됨). 경로: 쿠키의 경로를 나타내는 문자열(기본적으로 /) domain: 쿠키의 도메인을 나타내는 문자열(기본값 없음) secure: 쿠키가 HTTPS를 통해서만 전송되는지 여부를 나타내는 부울입니다(HTTP의 경우 기본적으로 false, HTTPS의 경우 기본적으로 true). httpOnly: 쿠키가 HTTP(S)를 통해서만 전송되고 클라이언트 JavaScript에서는 사용할 수 없는지 여부를 나타내는 부울입니다(기본적으로 true). signed: 쿠키가 서명되는지 여부를 나타내는 부울입니다(기본적으로 false). 이것이 사실이라면 동일한 이름에 .sig 접미사가 추가된 또 다른 쿠키도 첫 번째 키그립 키에 대한 쿠키 이름=쿠키 값의 해시를 나타내는 27바이트 URL 안전 base64 SHA1 값과 함께 전송됩니다. 이 서명 키는 다음에 쿠키가 수신될 때 변조를 감지하는 데 사용됩니다.

overwrite: 이전에 설정한 동일한 이름의 쿠키를 덮어쓸지 여부를 나타내는 부울입니다(기본적으로 false). 이것이 사실인 경우, 동일한 요청 중에 동일한 이름으로 설정된 모든 쿠키는(경로 또는 도메인에 관계없이) 이 쿠키를 설정할 때 Set-Cookie 헤더에서 필터링됩니다.라이선스
MIT
KoaHub.js -- 基于 Koa.js 平台的 Node.js 웹 快速开发框架

官网:http://js.koahub.com
Node.js를 기반으로 개발된 KoaHub.js는 세션 함수 코드를 가져오거나 설정합니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!