Fork me on GitHub

hapi验证机制

使用hapi的cookie缓存机制

插件可以参考https://github.com/hapijs/hapi-auth-cookie/blob/master/lib/index.js

该插件的session存储在内存中,当然也可以存储在redis和mongoDB中,这里的方案是存储在redis中。

将用户名存储在cookie中作为通行证,将用户权限等详细信息从数据库中读取,存储在redis中留着使用。

pic-1

使用server.state(settings.cookie, cookieOptions)配置cookie信息,包括有效期啥的。
使用return reply.state(settings.cookie, session)将session存入cookie信息。
session为用户名{uername: xxx}。
使用request.state[settings.cookie]来读取请求中的cookie信息。如果信息存在,再判断redis中的信息是否存在,不存在则更新缓存。如果信息不存在,get请求的页面重定向到登录页,post请求的返回403。

-------------本文结束感谢您的阅读-------------
如果您觉得受益了,欢迎打赏鼓励。