Heim >php教程 >php手册 >KoaHub.js wurde auf Basis von Node.js entwickelt und ruft/setzt Sitzungsfunktionscode ab

KoaHub.js wurde auf Basis von Node.js entwickelt und ruft/setzt Sitzungsfunktionscode ab

WBOY
WBOYOriginal
2016-10-09 08:32:201132Durchsuche

Wenn Sie Babel in Ihrem Projekt nicht verwenden, können Sie diese Version ohne Babel ausprobieren.
koa-session2
Middleware für Koa2 zum Abrufen/Festlegen der Sitzungsnutzung mit benutzerdefinierten Stores wie Redis oder Mongodb mit Babel
koa-session2
Middleware für Koa2 zum Abrufen/Festlegen der Sitzungsnutzung mit benutzerdefinierten Stores wie Redis oder Mongodb mit Babel

Wenn Sie Babel in Ihren Projekten nicht verwenden, können Sie diese Version vielleicht ohne Babel ausprobieren.

Installierennpm install koa-session2Verwendungimport 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 aus "koa" importieren; Sitzung aus "koa-session2" importieren;  
const app = new 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(session({     Schlüssel: "SESSIONID",   //default "koa:sess"  }));
Benutzerdefinierte Stores<br> Store.js<br>Redis aus "ioredis" importieren;<br> import {Store} aus "koa-session2";<br>  <br> Export Standardklasse RedisStore extends Store {<br>     Konstruktor() {<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) {             opts.sid = this.getID(24);         }         wait this.redis.set(`SESSION:${opts.sid}`, session);         return opts.sid;     }       async destroy(sid) {         return await this.redis.del(`SESSION:${sid}`);     } }main.jsKoa aus "koa" importieren; Sitzung aus "koa-session2" importieren; import Store from ./Store.js";   const app = new Koa();   app.use(session({     Store: new Store() }));   app.use(ctx => {     let user = ctx.session.user;       ctx.session.view = "index"; });Optionen Die meisten Optionen basieren auf CookiesSchlüssel: eine Zeichenfolge für die Speichersitzungs-ID im Cookie Store: eine Klasse für den benutzerdefinierten Store (extend {Store}, func: #get(sid), #set(session, opts), #destory(sid)) maxAge: eine Zahl, die die Millisekunden von Date.now() bis zum Ablauf angibt läuft ab: ein Datumsobjekt, das das Ablaufdatum des Cookies angibt (läuft standardmäßig am Ende der Sitzung ab). Pfad: eine Zeichenfolge, die den Pfad des Cookies angibt (standardmäßig /). domain: eine Zeichenfolge, die die Domain des Cookies angibt (kein Standard). secure: ein boolescher Wert, der angibt, ob das Cookie nur über HTTPS gesendet werden soll (standardmäßig false für HTTP, standardmäßig true für HTTPS). httpOnly: ein boolescher Wert, der angibt, ob das Cookie nur über HTTP(S) gesendet und nicht für Client-JavaScript verfügbar gemacht werden soll (standardmäßig true). signiert: ein boolescher Wert, der angibt, ob das Cookie signiert werden soll (standardmäßig falsch). Wenn dies zutrifft, wird auch ein weiteres Cookie mit demselben Namen und dem angehängten Suffix .sig gesendet, mit einem 27-Byte-URL-sicheren Base64-SHA1-Wert, der den Hash von Cookie-Name=Cookie-Wert gegenüber dem ersten Keygrip-Schlüssel darstellt. Dieser Signaturschlüssel wird verwendet, um Manipulationen zu erkennen, wenn das nächste Mal ein Cookie empfangen wird.

überschreiben: ein boolescher Wert, der angibt, ob zuvor gesetzte Cookies mit demselben Namen überschrieben werden sollen (standardmäßig false). Wenn dies zutrifft, werden alle während derselben Anfrage mit demselben Namen gesetzten Cookies (unabhängig vom Pfad oder der Domäne) beim Setzen dieses Cookies aus dem Set-Cookie-Header herausgefiltert.Lizenz
MIT
KoaHub.js – Koa.js-Webseite für Node.js

官网:http://js.koahub.com
KoaHub.js wurde auf Basis von Node.js entwickelt und ruft/setzt Sitzungsfunktionscode ab

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn