8.1. 多角色用户权限

file

什么是多角色?

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

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

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

在我们的 LaraBBS 项目里:

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

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

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

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 19

ImVic
如果我的网站需要建立 VIP 角色呢?
3 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
purson
licxisky
如何解决 permission 效率低下的问题?
2 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
zengjx2015
Composer require "spatie/Laravel-permission:~2.7"
1 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Chasers9527
关于这里的权限包使用?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
lkey
proc_open (): fork failed - Cannot allocate memory
1 个点赞 | 0 个回复 | 分享 | 课程版本 5.8
green_hand
model_has_permissions 这个表的存在意义是什么,搞不太明白
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
mzjmc
资源理由 Ajax 提交找不到这个路由
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
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
ruodee
直接授权不能用 can,还挺顺口的
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.5
discus2013
App ()['cache']->forget ('spatie.permission.cache')?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
齐天大圣
项目代码在阿里云上面不能正常运行?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5