用户登录

现在我是未登录的状态 ... 可以先试着打开一个内容的编辑界面 ... 会被重定向到登录页面 ... 输入用户名 ... 密码 .. 确认登录 ... 成功以后会把用户重定向到这个用户页面上 ... 现在我想用户登录以后,可以把他重定向到他原本要访问的页面 ..

回到项目 .. 打开 hooks.js ...

这里之前我们处理了应用里的 InvalidSessionException .. 发生这个异常就把用户重定向到登录页面 .. 在这个异常的处理方法里面,可以把用户原来要访问的页面地址保存在 session 里面 .. 在方法里,把 session ... 还有 request 拿出来用一下 ..

然后用一下 session 的 put ... 存储的数据的名字可以叫 redirectUrl ... 对应的值用一下 request.url() ,它会返回用户访问的页面地址 ..

下面再 await session.commit() ...

AuthController.js

再处理一下登录方法 .. 打开 AuthController ... 在这个控制器里面,处理登录请求用的是 auth 这个方法 .. 你会发现,登录成功以后,会把用户重定向到用户页面上 ..

在这个方法的参数里,先把 session 拿出来用一下 ...

登录成功以后 .. 添加一个 redirectUrl .. 用一下 session 的 get .. 得到 redirectUrl ..

下面再判断一下 ... 如果 redirectUrl ,意思就是 session 里的 redirectUrl 有值 .. 我们先删掉这个数据 .. session.forget ... 名字是 redirectUrl ..

然后再 return 一个重定向 ... response.redirect ... 地址就是 redirectUrl ..

试验

回到浏览器,可以再试一下 .. 先退出登录 ...

打开一个内容页面 ... 试着打开它的编辑页面 .. 会触发 InvalidSessionException ... 在这个异常的处理方法里面,会把用户带到登录页面 ... 在用户 session 里添加一个 redirectUrl 数据,值就是用户之前要访问的页面地址 ..

输入用户名 ... 密码 .. 再登录一下 ... 成功以后,会把用户带到他之前想要访问的这个页面上 ...

登录后重定向到用户原本要访问的页面《 Node.js 应用:重构与改进 #3 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点