如何validation/授权环回中的快速路由
我刚刚创build了一个回送应用程序,并为用户authentication/授权扩展了User
模型。
我试图检查用户是否当前login或不从我的快速路由,所以我可以redirect用户/login
如果用户没有login。
到目前为止,似乎回环只validation/授权暴露的模型方法,如/user/update
。 我无法find任何关于如何获得回送authentication/授权我定义的快速路线。
提前致谢
这是事情,我不是很擅长回环,但我知道一点关于Expressjs。
明确地说,如果你想做auth,你可以使用你自己的中间件,并在其他路由处理请求之前使用它。
您可能想要将快速会话视为login状态存储。
login时:
route.post('/login',function(req,res,next){ //login here req.session.user = user })
而你自己的中间件:
function auth(req,res,next){ if(!req.session.user){ res.redirect('/login') } }
为了在LoopBack应用程序中启用Express路由的身份validation和授权,您需要执行以下操作:
- 初始化环回令牌中间件以使用cookie
- 执行login后,设置已签名的access_token cookie
- 添加中间件来存储请求上下文(启用下面的步骤4 – 6)
- 添加中间件以识别请求用户并将用户信息存储在请求上下文中
- 添加中间件以启用所选路由上的login
- 根据需要将login执行中间件调用添加到Express路由
如果这看起来有点恐怖,恐怕不是因为有人写了一篇很棒的博客文章,并提供了所有上述中间件的示例代码:
令牌,会话和用户,哦,我的!
注意事项:
-
如果您希望会话持续存在,请确保将LoopBack的AccessToken模型configuration为使用内存以外的数据存储。 有关更多信息,请参阅此处: 允许回送应用程序使用先前的访问令牌
-
在博客文章中实现的请求上下文中间件不能作为永久性会话存储(即只有令牌存在),其余的是短暂的。
- 如何使用Node.js和Passport进行身份validation后,使用自己的ID将用户redirect到主页?
- 麻烦authentication
- 与风帆的卫星
- 使用MEAN +护照更改基于用户angular色的视图
- NodeJS Passport:通过两种策略multilogin – 序列化问题
- Mongoose:CastError:强制转换为ObjectId在path“_id”处的值“me”失败
- 如何从第三方node.js服务器validationGame Center用户
- 如何密码保护Harp.js应用程序的子目录
- 使用Facebook和Passportjs进行身份validation:什么是accessToken,注册后应该存储什么?