koa2-cookie-session
node.js的path.extname方法使用
由于該方法屬于path模塊,使用前需要引入path模塊(var path= require(“path”) )
接收參數:
p path 路徑
node.js中的path.join方法使用說明
方法說明:
將多個參數組合成一個 path (詳細請看例子)
path.join([path1], [path2], [...])
由于該方法屬于path模塊,使用前需要引入path模塊(var path= require(“path”) )
例子:
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')// returns'/foo/bar/baz/asdf'path.join('foo', {}, 'bar')// throws exceptionTypeError:參數路徑。加入必須是字符串TypeError: Arguments to path.join must be strings
cookie
koa2使用cookie app.use(async(ctx)=>{if(ctx.url === '/index'){//ctx.cookie.get() 讀取上下文請求中的cookiectx.cookies.set( // 寫入cookie'cid', //cookie 的name'hello world', // cookie 的value{domian:'localhost',//寫入cookie所在的域名path: '/index', //寫入cookie所在的路徑 maxAge: 20*60*1000, //cookie有效時間httpOnly: false,//是否只用于http請求中獲取overwrite: false//是否允許重寫})ctx.body = 'cookie is ok'}else{ctx.body = 'hello world'} })session
數據庫存儲方案
將session存放在MySQL數據庫中
需要用到中間件
koa-session-minimal 適用于koa2 的session中間件,提供存儲介質的讀寫接口 。
koa-mysql-session 為koa-session-minimal中間件提供MySQL數據庫的session數據讀寫操作。
將sessionId和對于的數據存到數據庫
將數據庫的存儲的sessionId存到頁面的cookie中
根據cookie的sessionId去獲取對于的session信息
首先需要natvicat中建一個數據庫
//配置存儲session信息的mysql let store = new MysqlSession({user: 'root',//數據庫用戶名password: 'abc123',//用戶密碼database: 'koa_demo',//數據庫名host: '127.0.0.1',//數據庫默認地址});//cookie session 文件配置 let cookie = {maxAge:'',//cookie過期時間path:'',//寫入cookie所在的路徑domain:'',//寫入cookie所在的域名httpOnly: false,//是否只用于http請求overwrite:'',//是否準許重寫secure: '',sameSite: '',signed: '', }//使用session 中間件,把上面配置的信息加載到session中間件中 //session 必須是一個方法 所以app.use(session({})) app.use(session({key: 'SESSION_ID',//Namestore: store,cookie: cookie }));app.use(async(ctx)=>{//訪問/set 設置sessionif (ctx.url === '/set' ) {ctx.session = {user_id:Math.random().toString(36).substr(2),count: 0}ctx.body = ctx.session;//否則 訪問根目錄 讀取session數據}else if(ctx.url === '/'){//讀取session 數據ctx.session.count = ctx.session.count + 1ctx.body = ctx.session} })
轉載于:https://www.cnblogs.com/patriot/p/7449216.html
總結
以上是生活随笔為你收集整理的koa2-cookie-session的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国重名的市辖区
- 下一篇: Chapter9:顺序容器