untitledpng / laravel-policy-roles
此包的最新版本(v2.1.0)没有可用的许可信息。
为用户添加多个角色并处理其策略
v2.1.0
2022-10-04 13:36 UTC
Requires
- php: >=7.4
- laravel/framework: >=6.0
README
使用此包,您可以实现基于角色的权限。当角色不存在时,此包将自动阻止访问。此外,此包还支持Laravel Nova。
安装
使用composer安装此包:composer require untitledpng/laravel-policy-roles
。
如何使用此包
- 首先,您需要将
Untitledpng\LaravelPolicyRoles\Domain\User
扩展到您的用户Eloquent模型中。 - 创建一个新策略,例如以下示例策略。
- 现在,像平时一样将策略添加到
AuthServiceProvider
中。 - 将角色和权限添加到您的数据库中。
- 完成!
示例策略
use Untitledpng\LaravelPolicyRoles\Services\PolicyService; class UserPolicy extends Untitledpng\LaravelPolicyRoles\Policies\BasePolicy { /** * UserPolicy constructor. * * @param PolicyService $policyService */ public function __construct( \Untitledpng\LaravelPolicyRoles\Services\PolicyService $policyService ) { parent::__construct('user', $policyService); } }
额外功能
- 您可以使用
$user->hasRole('view-user');
。这将根据用户是否有该角色返回true/false。 - 使用特殊助手
@can('create', App\User::class) YES @endcan
检查用户是否有特定权限。