journeycx / authuser
AuthUser - Laravel 路由授权库
dev-main
2024-05-12 15:04 UTC
Requires
- php: >=5.4.0
- journeycx/laratools: >=1.2.6
- laravel/framework: >=5.1
This package is auto-updated.
Last update: 2024-09-12 15:55:16 UTC
README
AuthUser 是 Laravel 的灵活授权系统,它检查访问特定网站或应用程序部分的 route
权限。可以通过 用户
基、角色
基、条件性
添加权限。它使用 authority.checkpost
中间件来过滤当前访问路由的权限,在此中间件下检查用户登录的每个权限。
安装
在您的 composer.json
中要求此包,或通过运行以下命令安装它:
composer require journeycx/authuser
现在,将此行插入到您的 config/app.php
中的 provider
数组下。
journeycx\AuthUser\AuthUser::class
现在,在此之后运行此命令,然后 config/authuser.php
和 app/Http/Middleware/AuthUserCheckpostMiddleware.php
文件已发布。
php artisan vendor:publish --tag="authuser"
现在,将此行插入到您的 app/Http/Kernel.php
中的 $routeMiddleware
数组下。
'authority.checkpost' => \App\Http\Middleware\AuthUserCheckpostMiddleware::class
使用 authority.checkpost
中间件来处理基于权限的路由。
Route::group(['middleware' => 'authority.checkpost'], function () { // Place all those routes here which needs authentication and authorization. });
现在,基本设置已完成。您需要使用 config/authuser
配置权限规则。
配置
以下为权限结构的说明,但强烈建议您阅读更多关于 文档。
[ 'allow' => ['*'], // Allowed permission to user. Priority is less than deny. 'deny' => ['temp1'], // Deny permission to user. Priority is higher than allow. ] canAccess('temp1'); // false
使用 - 辅助函数
canAccess('temp1'); // true or false
canPublicAccess(); // true or false
使用 - 门面
AuthUser::check($accessId = null, $requestForUserId = null)
检查$accessId
的访问权限,默认情况下检查当前路由并返回布尔值响应。它可以通过传递用户 ID 参数($requestForUserId)
检查特定用户的访问权限。
AuthUser::check('temp1'); // true or false
AuthUser::isPublicAccess('temp1'); // true or false
使用 - 指令
@canAccess()
// your logic here.
@endAccess;
@canPublicAccess()
// your logic here.
@endAccess;