Skip to content

Commit

Permalink
refactor(核心): 重构用户权限填充
Browse files Browse the repository at this point in the history
  • Loading branch information
medz committed Nov 26, 2018
1 parent 7599f4e commit 9ed2bcd
Show file tree
Hide file tree
Showing 2 changed files with 126 additions and 164 deletions.
7 changes: 6 additions & 1 deletion app/Models/Ability.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,10 @@

class Ability extends Model
{
//
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'display_name', 'description'];
}
283 changes: 120 additions & 163 deletions database/seeds/AbilitySeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,168 +29,125 @@ class AbilitySeeder extends Seeder
*/
public function run()
{
$this->createManagerPerm();
$this->createOwnerPerm();
}

/**
* 管理员节点.
*
* @return void
* @author Seven Du <[email protected]>
*/
protected function createManagerPerm()
{
// 基础
Ability::create(['name' => 'admin: login', 'display_name' => '后台登录权限', 'description' => '用户是否有权限登录后台']);
Ability::create(['name' => 'admin:site:base', 'display_name' => '系统-基本信息', 'description' => '编辑系统配置基本信息权限']);

// 地区管理
Ability::create(['name' => 'admin:area:show', 'display_name' => '系统-地区管理', 'description' => '编辑系统地区管理权限']);
Ability::create(['name' => 'admin:area:add', 'display_name' => '地区管理-添加', 'description' => '地区管理添加地区权限']);
Ability::create([
'name' => 'admin:area:update',
'display_name' => '地区管理-更新地区',
'description' => '地区管理修改权限',
]);
Ability::create([
'name' => 'admin:area:delete',
'display_name' => '地区管理-删除',
'description' => '地区管理删除地区权限',
]);

// 储存引擎
Ability::create(['name' => 'admin:storages', 'display_name' => '储存管理', 'description' => '编辑系统储存管理权限']);

// 用户管理
Ability::create([
'name' => 'admin:user:show',
'display_name' => '用户管理',
'description' => '用户管理查看权限',
]);
Ability::create([
'name' => 'admin:user:update',
'display_name' => '用户管理-修改',
'description' => '编辑用户信息权限',
]);
Ability::create([
'name' => 'admin:user:delete',
'display_name' => '用户管理-删除',
'description' => '删除用户权限',
]);
Ability::create([
'name' => 'admin:user:add',
'display_name' => '用户管理-添加',
'description' => '添加用户权限',
]);

// 角色管理
Ability::create([
'name' => 'admin:role:show',
'display_name' => '角色管理',
'description' => '用户角色管理权限',
]);
Ability::create([
'name' => 'admin:role:update',
'display_name' => '角色管理-编辑',
'description' => '角色编辑权限',
]);
Ability::create([
'name' => 'admin: Deleting role',
'display_name' => '角色管理-删除',
'description' => '角色管理删除权限',
]);
Ability::create([
'name' => 'admin:role:add',
'display_name' => '角色管理-添加',
'description' => '角色添加权限',
]);

// 权限管理
Ability::create([
'name' => 'admin:perm:show',
'display_name' => '权限管理',
'description' => '权限管理权限',
]);
Ability::create([
'name' => 'admin:perm:update',
'display_name' => '权限管理-编辑',
'description' => '权限管理编辑权限',
]);
Ability::create([
'name' => 'admin:perm:add',
'display_name' => '权限管理-添加',
'description' => '权限管理添加权限节点权限',
]);
Ability::create([
'name' => 'admin:perm:delete',
'display_name' => '权限管理-删除',
'description' => '权限管理删除权限节点权限',
]);

// 系统通知
Ability::create([
'name' => 'admin:notice:send',
'display_name' => '系统通知-发送',
'description' => '系统通知发送系统通知权限',
]);

// 编辑话题权限
Ability::create([
'name' => 'admin: update feed topic',
'display_name' => '动态»话题»编辑话题',
'description' => '修改动态话题',
]);
}

/**
* 普通用户权限节点.
*
* @return void
* @author Seven Du <[email protected]>
*/
protected function createOwnerPerm()
{
Ability::create([
'name' => 'login',
'display_name' => '登录',
'description' => '用户登录权限',
]);

Ability::create([
'name' => 'password-update',
'display_name' => '修改用户密码',
'description' => '用户修改密码权限',
]);

Ability::create([
'name' => 'user-update',
'display_name' => '修改用户资料',
'description' => '用户修改资料权限',
]);

Ability::create([
'name' => 'user-follow',
'display_name' => '关注用户',
'description' => '用户关注权限',
]);

Ability::create([
'name' => 'storage-create',
'display_name' => '上传附件',
'description' => '用户上传附件权限',
]);

Ability::create([
'name' => 'feedback',
'display_name' => '意见反馈',
'description' => '用户意见反馈权限',
]);

Ability::create([
'name' => 'conversations',
'display_name' => '系统会话',
'description' => '用户获取系统会话权限',
]);
foreach([
'admin: login' => [
'display_name' => '后台登录权限',
'description' => '用户是否有权限登录后台',
],
'admin:site:base' => [
'display_name' => '系统-基本信息',
'description' => '编辑系统配置基本信息权限',
],
'admin:area:show' => [
'display_name' => '系统-地区管理',
'description' => '编辑系统地区管理权限',
],
'admin:area:add' => [
'display_name' => '地区管理-添加',
'description' => '地区管理添加地区权限',
],
'admin:storages' => [
'display_name' => '储存管理',
'description' => '编辑系统储存管理权限',
],
'admin:area:update' => [
'display_name' => '地区管理-更新地区',
'description' => '地区管理修改权限',
],
'admin:area:delete' => [
'display_name' => '地区管理-删除',
'description' => '地区管理删除地区权限',
],
'admin:user:show' => [
'display_name' => '用户管理',
'description' => '用户管理查看权限',
],
'admin:user:update' => [
'display_name' => '用户管理-修改',
'description' => '编辑用户信息权限',
],
'admin:user:delete' => [
'display_name' => '用户管理-删除',
'description' => '删除用户权限',
],
'admin:user:add' => [
'display_name' => '用户管理-添加',
'description' => '添加用户权限',
],
'admin:role:show' => [
'display_name' => '角色管理',
'description' => '用户角色管理权限',
],
'admin:role:update' => [
'display_name' => '角色管理-编辑',
'description' => '角色编辑权限',
],
'admin: Deleting role' => [
'display_name' => '角色管理-删除',
'description' => '角色管理删除权限',
],
'admin:role:add' => [
'display_name' => '角色管理-添加',
'description' => '角色添加权限',
],
'admin:perm:show' => [
'display_name' => '权限管理',
'description' => '权限管理权限',
],
'admin:perm:update' => [
'display_name' => '权限管理-编辑',
'description' => '权限管理编辑权限',
],
'admin:perm:add' => [
'display_name' => '权限管理-添加',
'description' => '权限管理添加权限节点权限',
],
'admin:perm:delete' => [
'display_name' => '权限管理-删除',
'description' => '权限管理删除权限节点权限',
],
'admin:notice:send' => [
'display_name' => '系统通知-发送',
'description' => '系统通知发送系统通知权限',
],
'admin: update feed topic' => [
'display_name' => '动态»话题»编辑话题',
'description' => '修改动态话题',
],
'login' => [
'display_name' => '登录',
'description' => '用户登录权限',
],
'password-update' => [
'display_name' => '修改用户密码',
'description' => '用户修改密码权限',
],
'user-update' => [
'display_name' => '修改用户资料',
'description' => '用户修改资料权限',
],
'user-follow' => [
'display_name' => '关注用户',
'description' => '用户关注权限',
],
'storage-create' => [
'display_name' => '上传附件',
'description' => '用户上传附件权限',
],
'feedback' => [
'display_name' => '意见反馈',
'description' => '用户意见反馈权限',
],
'conversations' => [
'display_name' => '系统会话',
'description' => '用户获取系统会话权限',
],
'[feed] Delete Feed' => [
'display_name' => '[动态]->删除动态',
'description' => '删除动态权限',
],
] as $name => $data) {
Ability::firstOrCreate(['name' => $name], $data);
}
}
}

0 comments on commit 9ed2bcd

Please sign in to comment.