| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App\Http\Controllers\Admins;
- use App\Modes\SystemUser;
- use App\Modes\User;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Auth;
- use Spatie\Permission\Models\Role;
- class SystemModelHasRolesController extends Controller
- {
- /**
- * 给管理员分配角色
- * @author fatty
- * @date 2019/1/7
- * @param $id
- * @param $roles
- * @description
- */
- public function create(Request $request)
- {
- if($request->post('roleid')==1){
- return showJsonErr('抱歉,该用户不能授予超级管理员权限');
- }
- $systemUser = User::find($request->post('suid'));
- // 判断拥有管理权限的用户才能授予角色
- /*if (!in_array($systemUser->isSuper, [2, 3])) {
- return showJsonErr('抱歉,该用户不能授予管理权限.');
- }*/
- foreach ($systemUser->roles as $role) {
- $systemUser->removeRole($role);
- }
- $role = Role::findById($request->post('roleid'), config('permission.guard'));
- return showJson(101, 1001, $systemUser->assignRole($role));
- }
- /**
- * 管理员拥有的权限
- * @author fatty
- * @date 2019/1/8
- * @param $id
- * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response
- * @throws \Exception
- * @description
- */
- public function show($id)
- {
- $systemUser = User::find($id);
- return showJson(101, 1001, [
- 'role' => $systemUser->roles,
- 'permission' => $systemUser->getPermissionsViaRoles()
- ]);
- }
- /**
- * 角色可以从管理员中删除
- * @author fatty
- * @date 2019/1/8
- * @param $uid
- * @description
- */
- public function removeRole(Request $request)
- {
- $user = User::find($request->post('suid'));
- if ($user->is_super == 1) {
- return showJsonErr('抱歉,您没有权限操作');
- }
- $role = Role::findById($request->post('roleid'), config('permission.guard'));
- $user->removeRole($role);
- return showJsonSucc('移除角色成功', $user->roles());
- }
- }
|