laravel許可權管理

來源:互聯網
上載者:User

這篇文章介紹的內容是關於laravel許可權管理,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

用這個包:
https://github.com/spatie/laravel-permission

中文翻譯:
https://laravel-china.org/topics/8018/extension-recommendation-role-and-authority-control-in-spatielaravel-permission-laravel-applications

補充的方法:

#擷取所有擁有這個許可權的使用者:$users = User::role($role_name)->get();
$role=Role::find($role_id);#擷取這個角色已經有的許可權$permissions = $role->permissions;#擷取這個角色沒有的許可權$diffpermissions = Permission::whereNotIn('id', $permissions->pluck('id'))->get();
#清除現有許可權及緩衝,並重新分配許可權,許可權可以是數組$role->syncPermissions($permissions);
#擷取一個使用者的所有許可權,$user是User的一個執行個體$permissions = $user->getAllPermissions();
#給使用者指派角色,使其繼承這個角色的的許可權。$user->assignRole('writer');#給角色指派許可權$res = $role->givePermissionTo($permissions);#給使用者指派許可權,三種方式都可以$user->givePermissionTo('edit articles');// You can also give multiple permission at once$user->givePermissionTo('edit articles', 'delete articles');// You may also pass an array$user->givePermissionTo(['edit articles', 'delete articles']);// 擷取所有已定義的角色的集合$roles = $user->getRoleNames(); // 返回一個集合
#可以使用下面其中一種方法將多個許可權同步賦予到一個角色:$role->syncPermissions($permissions);$permission->syncRoles($roles);#可以使用以下其中一種方法通過角色去刪除許可權:$role->revokePermissionTo($permission);$permission->removeRole($role);
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.