> 백엔드 개발 > PHP 튜토리얼 > 라라벨 권한 관리

라라벨 권한 관리

不言
풀어 주다: 2023-03-24 19:32:01
원래의
3056명이 탐색했습니다.

이 글의 내용은 특정 참조 가치가 있는 laravel 권한 관리에 관한 것입니다. 이제 모든 사람과 공유합니다. 필요한 친구들이 참조할 수 있습니다.

이 패키지를 사용하세요:
https://github.com/spatie/laravel - 허가

중국어 번역:
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);
로그인 후 복사

관련 권장 사항:

Laravel의 템플릿 사용률

위 내용은 라라벨 권한 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿