laravel entrust 权限管理
最近在用laravel做权限管理,用的是entrust扩展,所以总结了一下用法.我是根据自己的思路理解的ertrust来写的,当然可以根据自己的需求去做
创建用户
DB::table("users")->insert( [ "name" => "admin", "email" => "admin@qq.com", "mobile" => "10136989522", "password" => bcrypt("123456"), "sex"=>"男", "birthday"=>"2000-01-20", "address_province"=>"北京市", "address_city"=>"北京市", "address_district"=>"朝阳区", "active" => true, "created_at" => new DateTime(), ]);
创建超级管理员角色
$SuperAdmin = new Role(); $SuperAdmin->name = "SuperAdmin"; $SuperAdmin->display_name = "超级管理员"; $SuperAdmin->description = "网站最高权利者.管理网站用户和员工,及进行系统设置,网站维护"; $SuperAdmin->save();
创建后台管理员角色
$admin = new Role(); $admin->name = "admin"; $admin->display_name = "登录后台"; $admin->description = "只能登录后台"; $admin->save();
创建用户管理权限及二级添加用户权限
$user= new Permission(); $user->name = "user"; $user->display_name = "用户管理权限"; $user->description = "后台用户管理所有权限"; $user->fid = 0; $user->save();
$adduser= new Permission(); $adduser->name = "adduser"; $adduser->display_name = "添加用户权限"; $adduser->description = "后台添加用户权限"; $adduser->fid = $user->id; $adduser->save();
给用户添加角色
$adminUser = User::where("name", "admin")->first(); //赋予所有的角色 $adminRoles = Role::select("id")->get()->toArray(); $adminUser->attachRoles($adminRoles); //赋予单一的角色 $adminRole = Role::where("name","admin")->get(); $adminUser->attachRoles($adminRole);
删除用户角色
$user = User::find($id); $user->detachRoles();//删除所有角色 $user->attachRoles($roles);//赋予新的角色给角色添加权限
$owner = Role::where("name","SuperAdmin")->first(); //添加所有的权限 $createPost = Permission::select("id")->get()->toArray(); $owner->attachPermissions($createPost); //添加单一的权限 $createPost = Permission::where("name","admin")->first(); $owner->attachPermission($createPost);删除角色的权限
$role=Role::find("id"); $oldPermissions=$role->getPermissionIds(); $role->detachPermissions($oldPermissions);本文自己整理原创未经同意严禁转发
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: JavaScript下实现交换数组元素上下移动例子
- 下一篇: laravel中角色与权限的管理