简体   繁体   English

如何使用 Laravel 将 Spatie\Permission\Traits\HasRoles 和 Authenticatable 分配给不同的模型

[英]How to assign Spatie\Permission\Traits\HasRoles and Authenticatable to different models with Laravel

There are 2 models:有2种型号:

User & Account用户帐号

Each user has several accounts with different roles (one-to-many relation).每个用户都有多个具有不同角色的帐户(一对多关系)。

The User is Authenticatable用户是可验证的

User extends Authenticatable

The AccountUser has roles trait. AccountUser 具有角色特征。

AccountUser {
    use \Spatie\Permission\Traits\HasRoles;

I assign roles to Account:我将角色分配给帐户:

$account->assignRole('writer');

Now I want middleware to use Account instead of User model for check the permissions现在我希望中间件使用帐户而不是用户 model 来检查权限

['middleware' => ['permission:publish articles']

The question is: how to stay User Authenticatable and make AccountUser Roleble at the same time问题是:如何保持 User Authenticatable 并同时使 AccountUser Roleble

You can you middleware in array:你可以在数组中使用中间件:

'middleware' => ['first','second']

That'll check both at time same time.这将同时检查两者。

Your route middleware may be like this:你的路由中间件可能是这样的:

'middleware' => ['role:writer','permission:publish articles']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Laravel Spatie Permission 多模型权限 - Laravel Spatie Permission Multi Models to Permission 如何在 Laravel 中使用 Spatie 权限 Package 创建权限并分配中间件以动态路由? - How To Create Permission and Assign Middleware To Route Dynamically Using Spatie Permission Package in Laravel? 尝试使用Spatial Laravel权限hasRoles进​​行多重身份验证 - Trying to do multi auth using spatie laravel-permissions hasRoles 如何在Laravel模型中使用特征? - How to use traits in Laravel models? 我如何在laravel中为spatie软件包(ACL管理)将用户列表权限分配给其他角色? - How can i assign user-list permission to other roles also in laravel for spatie package(ACL Management)? 使用 Spatie 的 Laravel 权限 Package,如何为用户分配多个角色? - Using Spatie's Laravel Permission Package, how can I assign multiple roles to a user? 如何在laravel4中向其他用户分配权限? - How to assign permission to different user in laravel4? 如何在 Laravel 中使用 spatie 权限中间件? - How to use spatie permission middleware in Laravel? 如何在 Spatie/permission (Laravel) 中获取具有特定权限的角色列表 - How to get a list of roles with certain permission in Spatie/permission (Laravel) Laravel 和 spatie/laravel-permission - Laravel and spatie/laravel-permission
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM