用户登录

用户如果没登录的话,我们就假设他们属于 guest 用户角色 .. 给这个 guest 角色添加的权限就相当于是给没登录的用户设置的一些默认的权限 ..

先打开数据库客户端 .. 找到应用的数据库 .. 打开它的 roles 数据表 .. 里面先手工添加一个角色 .. 名字是 guest ..

再打开 role_permission 这个数据表 .. 给 guest 这个角色分配一些权限 .. 这个角色的 id 号是 3 ... 给他分配一个 read post 权限,这个权限的 id 号是 2 ..

回到项目 .. 打开刚才之前创建的 Permission 这个中间件 ..

先在文件顶部导入 Role 这个模型 .. 位置是 App/Models/Role ..

然后在 handle 方法的这个 else 里面 .. 添加一个 guest .. await Role.query().where('name', 'guest') .. 找到名字是 guest 的这个用户角色 .. with ... permissions ,带着相关的权限 ... 再用一个 first() .. 得到第一个查询结果 ..

设置一下 permissions 的值 .. guest.toJSON().permissions.map .. 当前项目是 permission .. 返回 permission 里的 name 的值 ..

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

再回到 demo/acl .. 刷新一下页面 .. 因为我没有登录 .. 所以页面上显示的这个权限列表应该就是我们给 guest 这个用户角色分配的权限 ...

访客权限(未登录用户的默认权限)《 Node.js 应用:权限控制 #2 》

统计

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

社会化网络

关于

微信订阅号

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