后台的权限管理,一般我们可选取基于基于角色的权限管理模型。
首先我们在后台的操作,本质上是对API的请求,那这个工作可以理解为这是对资源访问的权限,有则可以访问,没有则拒绝访问。
超级管理员,管理员,普通用户等等我们称之为角色,我们会为这些角色赋予一定的权限,也就是上述众多权限的一个集合。
最后我们将这些角色(role)赋予给用户(user),那这些被赋予角色的用户,就会拥有该角色所赋予的权限。
以上就是基于角色的访问控制,我们可以看到权限是最小单元,将权限打包赋予角色,角色打包赋予用户。
其中,在前后端分离的场景下,我们还要考虑到前端菜单的动态权限。例如,后台管理左侧列表,我们称之为菜单,我们需要实现后端配置权限的时候,前端界面也可以根据配置,动态显示。
即使用户绕过前端界面,直接进行API请求,最终后端接口也能够拦截。所以,实现前端的动态权限,一是为了用户体验,二是避免不必要的资源请求。
目前后台前端解决方案,推荐使用 vue-element-admin
在Laravel中实现上述逻辑的Restful API,我们可以采用权限扩展包的方式进行开发,以保证功能与核心框架的解耦,开发好的扩展包,我们只需要通过composer进行安装即可提供前后端分离场景下的后台权限验证API,十分方便。
具体API的实现流程以及扩展包的开发流程,可观看腾讯课堂视频课程: