Laravel中使用路由控制权限(不限于Laravel,只是一种思想)

rbac

Start

权限设计是后台管理很重要的一个功能,所以要好好设计。
PHP 已经有很多这方面的packages了,就不用我们重复造轮子了。当然,如果你愿意可以从头开始~


PS

以前做权限认证的方式有好几种,我说说常用的两种吧!
1. 每一个页面认证当前需要的权限一次
2. 在统一的地方(中间件)验证
先上一下简单的表结构(只保留重要的信息)数据库的模型 ER 图

(ps:这个设计中,用户不会直接拥有权限,只能通过角色继承权限。有很多packages会提供用户可以直接拥有权限功能)

Model

模型关联关系处理:
1. User 模型

  1. Role 模型

  1. Permission 模型


Database Seed

  • 插入一些记录:

First

第一种大概介绍一下:


Two

通过上面的代码我们可以看到,即使封装了权限验证的代码,还是要在不同的方法进行验证,而且可扩展性不高,这时候我们只需要在权限表加一个字段,就可以解决问题

添加好数据的时候,我们就不用再控制器里验证了,我们只需要新建一个中间件。


END

如果是在 laravel 中使用,已经有轮子了,请使用 https://github.com/spatie/laravel-permission

You Might Also Like

One Reply to “Laravel中使用路由控制权限(不限于Laravel,只是一种思想)”

发表评论

电子邮件地址不会被公开。 必填项已用*标注