Download the PHP package daijulong/laravel-roles without Composer

On this page you can find all versions of the php package daijulong/laravel-roles. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-roles

Laravel Roles

适用于 laravel5.5+ 的一套账号、多身份、多角色的权限系统。

环境要求

定义

适用场景

本包适用于项目要求用同一套账号适用不同场景的情况,如:论坛用户中某一些作为版主,除了可以作为普通用户进行论坛的日常活动,还需要行使作为版主的权力进行论坛的管理,甚至需要进入后台进行业务管理,同时管理员或业务人员等其他人员也需要同时在论坛与普通用户一样地进行日常活动。

安装

请先启用 laravel 自带的 Auth 再进行安装。

Via Composer

composer.json

配置

生成配置文件:

将在config目录下生成配置文件:permission.php,各配置项在此配置文件中有详细说明。

构建身份及角色

假设:在一个项目中,要求前台用户和后台管理员使用同一套账号进行登录,作为前台用户时,每用户仅对应一个"用户组",而作为后台管理员时,可以拥有多个角色进行不同的业务管理。

普通用户增加单角色机制

对于单角色的用户模型,应 并实现其定义角色模型的抽象方法 ,如果是新建的一个单角色用户模型,还应声明其与 User 的关系

创建用户角色表及模型

用户表增加字段

用户角色表migration

别忘了

用户角色模型

角色模型须

后台对角色、权限、授权管理

中 字段为若干个权限码连接而成,连接符默认为"|"。权限码参考配置文件:

创建角色、角色授权等不再详述。

创建管理员及其多角色权限机制

创建表,各 migration 如下

管理员表 admins

管理员角色表 admin_roles

管理员-角色对应关系 admin_role

创建模型

Admin

对于多角色的用户模型,应 并实现其抽象方法,声明与 User 的关系

AdminRole

角色模型须

加载 Permission 中间件 Middleware

针对前台用户和后台管理员有不同的需求:

创建两个不同的中间件,并分别加入后适当位置(具体由项目路由部分决定)

UserPermission:

AdminPermission:

AdminPermission 中间件应放在 auth 中间件之后,先保证已登录。

创建的 Permission 中间件同时还决定了进入某一个程序主体时用户的身份,程序主体中将默认使用此身份进行权限相关操作,但仍提供了使用其他身份进行检查的机制,具体见后续"使用"小节的说明。

可参照上述内容建立更多的身份及角色。后台各身份、角色、权限的管理在此不作赘述。

使用

取得用户实例

可以以此来判定用户是否具有某身份,如判断是否为管理员:

检查是否符合某(些)权限要求

检查单个权限: 检查多个权限: ,多个权限以"|"分隔,并可通过第二个参数使用"OR"或"AND"进行处理,默认"OR"

一般来说,在进入程序主体时,已经通过中间件确定了当前用户是以哪种身份进入的,默认为检查当前身份对应的权限码,如果需要检查另一种身份的相关权限时,则需要在权限码前加上身份码。例如在前台页面中,都是以前台用户身份进行权限操作,此时要检查是否是具备删除评论权限的管理员时,则可以如此进行检查:

检查是否不符合某(些)权限要求

与 相反

检查数据是否为当前用户所有

可以是 等,将与当前用户的ID进行对比以判定其是否为当前用户所有。如果 是 时,可以通过第二个参数指定其比对的索引或成员属性名

检查数据是否不为当前用户所有

与 相反

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel-roles with dependencies

PHP Build Version
Package Version
No informations.
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package daijulong/laravel-roles contains the following files

Loading the files please wait ....