RBACSeeder.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace Database\Seeders;
  3. use Illuminate\Database\Seeder;
  4. use Spatie\Permission\Models\Permission;
  5. use Spatie\Permission\Models\Role;
  6. class RBACSeeder extends Seeder
  7. {
  8. private array $permissions = [
  9. 'admin.aff.detail' => '【推广系统】提现申请详情',
  10. 'admin.aff.index' => '【推广系统】提现管理列表',
  11. 'admin.aff.rebate' => '【推广系统】返利流水记录',
  12. 'admin.aff.setStatus' => '【推广系统】设置提现状态',
  13. 'admin.article.create,store' => '【客服系统】新建文章',
  14. 'admin.article.destroy' => '【客服系统】删除文章',
  15. 'admin.article.edit,update' => '【客服系统】编辑文章',
  16. 'admin.article.index,show' => '【客服系统】文章列表',
  17. 'admin.config.*' => '【设置】通用配置',
  18. 'admin.coupon.create,store' => '【商品系统】新建卡劵',
  19. 'admin.coupon.destroy' => '【商品系统】删除卡劵',
  20. 'admin.coupon.export' => '【商品系统】导出卡劵',
  21. 'admin.coupon.index' => '【商品系统】卡劵列表',
  22. 'admin.goods.create,store' => '【商品系统】新建商品',
  23. 'admin.goods.destroy' => '【商品系统】删除商品',
  24. 'admin.goods.edit,update' => '【商品系统】编辑商品',
  25. 'admin.goods.index' => '【商品系统】商品列表',
  26. 'admin.index' => '【管理中心】首页',
  27. 'admin.invite.index' => '【推广系统】邀请列表',
  28. 'admin.invite.create' => '【推广系统】生成邀请码',
  29. 'admin.invite.export' => '【推广系统】导出邀请码',
  30. 'admin.log.ban' => '【日志系统】封禁记录',
  31. 'admin.log.credit' => '【日志系统】余额记录',
  32. 'admin.log.flow' => '【日志系统】流量变动记录',
  33. 'admin.log.ip' => '【日志系统】在线IP记录',
  34. 'admin.log.notify' => '【日志系统】通知记录',
  35. 'admin.log.online' => '【日志系统】在线监控',
  36. 'admin.log.traffic' => '【日志系统】流量日志',
  37. 'log-viewer::dashboard,log-viewer::logs.*' => '【日志系统】运行日志',
  38. 'admin.marketing.add' => '【客服系统】推送消息',
  39. 'admin.marketing.email' => '【客服系统】邮件消息列表',
  40. 'admin.marketing.push' => '【客服系统】推送消息列表',
  41. 'admin.node.auth.destroy' => '【线路系统】删除授权',
  42. 'admin.node.auth.index' => '【线路系统】授权列表',
  43. 'admin.node.auth.store' => '【线路系统】新建授权',
  44. 'admin.node.auth.update' => '【线路系统】编辑授权',
  45. 'admin.node.cert.create,store' => '【线路系统】新建证书',
  46. 'admin.node.cert.destroy' => '【线路系统】删除证书',
  47. 'admin.node.cert.edit,update' => '【线路系统】编辑证书',
  48. 'admin.node.cert.index' => '【线路系统】证书列表',
  49. 'admin.node.check' => '【线路系统】阻断检测',
  50. 'admin.node.create,store' => '【线路系统】新建线路',
  51. 'admin.node.destroy' => '【线路系统】删除线路',
  52. 'admin.node.edit,update' => '【线路系统】编辑线路',
  53. 'admin.node.geo' => '【线路系统】更新地理',
  54. 'admin.node.index' => '【线路系统】线路列表',
  55. 'admin.node.monitor' => '【线路系统】流量监控',
  56. 'admin.node.ping' => '【线路系统】测速',
  57. 'admin.node.reload' => '【线路系统】重载',
  58. 'admin.order' => '【商品系统】订单列表',
  59. 'admin.payment.callback' => '【日志系统】回调列表',
  60. 'admin.permission.create,store' => '【权限系统】新建权限',
  61. 'admin.permission.destroy' => '【权限系统】删除权限',
  62. 'admin.permission.edit,update' => '【权限系统】编辑权限',
  63. 'admin.permission.index' => '【权限系统】权限列表',
  64. 'admin.role.create,store' => '【权限系统】新建角色',
  65. 'admin.role.destroy' => '【权限系统】删除角色',
  66. 'admin.role.edit,update' => '【权限系统】编辑角色',
  67. 'admin.role.index' => '【权限系统】角色列表',
  68. 'admin.rule.clear' => '【审计规则】清除触发日志',
  69. 'admin.rule.destroy' => '【审计规则】删除规则',
  70. 'admin.rule.group.assign,editNode' => '【审计规则】分组关联线路',
  71. 'admin.rule.group.create,store' => '【审计规则】新建分组',
  72. 'admin.rule.group.destroy' => '【审计规则】删除分组',
  73. 'admin.rule.group.edit,update' => '【审计规则】编辑分组',
  74. 'admin.rule.group.index' => '【审计规则】分组列表',
  75. 'admin.rule.index' => '【审计规则】规则列表',
  76. 'admin.rule.log' => '【审计规则】触发日志',
  77. 'admin.rule.store' => '【审计规则】新建规则',
  78. 'admin.rule.update' => '【审计规则】编辑规则',
  79. 'admin.subscribe.index' => '【用户系统】订阅列表',
  80. 'admin.subscribe.log' => '【用户系统】订阅记录',
  81. 'admin.subscribe.set' => '【用户系统】编辑订阅状态',
  82. 'admin.system.index' => '【设置】查看系统设置',
  83. 'admin.system.update,extend' => '【设置】编辑系统设置',
  84. 'admin.test.*' => '【设置】通知,支付设置测试',
  85. 'admin.ticket.destroy' => '【客服系统】删除工单',
  86. 'admin.ticket.edit,update' => '【客服系统】回复工单',
  87. 'admin.ticket.index' => '【客服系统】工单列表',
  88. 'admin.ticket.store' => '【客服系统】新建工单',
  89. 'admin.tools.*' => '【工具箱】',
  90. 'admin.user.batch' => '【用户系统】生成用户',
  91. 'admin.user.create,store' => '【用户系统】新建用户',
  92. 'admin.user.destroy' => '【用户系统】删除用户',
  93. 'admin.user.edit,update' => '【用户系统】编辑用户',
  94. 'admin.user.export' => '【用户系统】配置信息',
  95. 'admin.user.exportProxy' => '【用户系统】读取配置',
  96. 'admin.user.group.create,store' => '【用户系统】新建分组',
  97. 'admin.user.group.destroy' => '【用户系统】删除分组',
  98. 'admin.user.group.edit,update' => '【用户系统】编辑分组',
  99. 'admin.user.group.index' => '【用户系统】分组列表',
  100. 'admin.user.index' => '【用户系统】用户列表',
  101. 'admin.user.monitor' => '【用户系统】流量统计',
  102. 'admin.user.online' => '【用户系统】在线巡查',
  103. 'admin.user.reset' => '【用户系统】流量重置',
  104. 'admin.user.switch' => '【用户系统】用户视角',
  105. 'admin.user.updateCredit' => '【用户系统】编辑余额',
  106. 'give roles' => '【用户系统】赋予角色权限',
  107. ];
  108. public function run(): void
  109. {
  110. // RBAC
  111. Role::create(['name' => 'Super Admin', 'description' => '超级管理员']);
  112. foreach ($this->permissions as $name => $description) {
  113. Permission::insert(['name' => $name, 'description' => $description, 'guard_name' => 'web']);
  114. }
  115. }
  116. }