8.1. 多角色用户权限

file

什么是多角色?

角色和权限是许多 Web 应用程序的重要组成部分。角色就是用户在站点中的身份,很多时候与站点权限相关联。

以 LaraBBS 为例,将会有以下角色,他们的权限由低到高:

  • 游客 —— 没有登录的用户
  • 用户 —— 登录用户
  • 管理员 —— 社区内容管理
  • 站长 —— 权限最高的用户角色

在我们的 LaraBBS 项目里:

  • 游客 可以随便浏览页面,但是无法发布内容;
  • 用户 能够发布内容,却只能管理自己的内容;
  • 管理员 可以管理所有用户的内容,然而不能管理用户;
  • 站长 拥有最高权限,可以管理所有内容,包括用户。

『游客』和『用户』我们只需要按照登录状态来辨别即可,『管理员』和『站长』都是登录用户,并且一个用户既可以是管理员也可以是站长。在代码中,我们使用 Role 数据模型来作为角色的表现,角色能做的动作,我们称之为权限,使用数据模型 Permission 来...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 17

ImVic
如果我的网站需要建立 VIP 角色呢?
3 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
purson
LiCxi
如何解决 permission 效率低下的问题?
2 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
zengjx2015
Composer require "spatie/Laravel-permission:~2.7"
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
Chasers9527
关于这里的权限包使用?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
mzjmc
资源理由 Ajax 提交找不到这个路由
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
caojianx
Goodbye
The given role or permission should use guard `` instead of `Web`?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
猪猪
模型中的 $user 没找到问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
plc9287xy
Laravel-permission 安装后,执行迁移报错。
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Goodbye
为什么填充角色表需要清除 spatie.permission.cache 缓存?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
吃瓜群众
执行 permissions 迁移的时候报错?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
老好人
直接授权不能用 can,还挺顺口的
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.5
discus2013
App ()['cache']->forget ('spatie.permission.cache')?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
齐天大圣
项目代码在阿里云上面不能正常运行?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5