用户登录

先打开 posts/create 这个页面 .. 我现在没有登录 .. 也可以正常打开这个创建内容的页面 .. 现在我想让只有登录的用户才能打开这个创建内容的页面 ... 可以在这个路由上,使用一个 auth 中间件 ..

回到项目 .. 打开应用的路由 ... 然后找到 posts 这个 resource 类型的路由 ... 在这个路由上应用一个中间件,可以这样 .. 用一个 middleware 方法 .. 里面是一组要使用的中件间 .. 这里先只添加一个 auth ..

再回到创建内容的页面 .. 刷新一下 ..

现在这里会提示 Invalid session, 因为现在访问这个地址用了 auth 中间件,它会检查用户的登录状态,如果没登录就会触发 InvalidSessionException 这个异常 ..

再打开一个内容页面 ... 同样会提示这个 Invalid session .. 因为我们统一在 posts 这条资源类型的路由上添加了一个 auth 中间件 ...

如果只想在特定的资源控制器的方法上使用中间件,可以这样处理一下 ... 给这个 middleware 一个 Map 类型的数据 .. 里面添加一个项目 .. 然后设置一下这个 Map 项目的 key 还有 value .. 它的 key 就是一组控制器的方法 .. 添加一个 create, store, edit, update, 还有 destroy ... 对应的值是一组中间件 .. 里面添加一个 auth ..

再去预览一下 ... 先访问一下这个文章页面 ... 可以正常显示文章的内容 ..

再试着编辑一下这个文章 ... 会提示 Invalid session ..

然后再访问一下创建文章的页面 ... 这里也会提示 Invalid session ..

下面可以再登录一下 ... 打开登录页面 ... 输入用户名 ... 密码 ... 确认一下登录 ..

这次再访问创建内容页面的时候,就不会提示 Invalid session 了 ... 因为我现在是登录的状态 ...

使用中间件(auth middleware)《 Node.js 应用:中间件与异常 》

统计

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

社会化网络

关于

微信订阅号

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