|
@@ -1,4 +1,5 @@
|
|
|
<?php
|
|
|
+
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
use App\Models;
|
|
@@ -10,27 +11,56 @@ use Illuminate\Support\Facades\Log;
|
|
|
|
|
|
class PermissionController extends Controller
|
|
|
{
|
|
|
- public function GrantPrivilege(Request $request)
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分配用户可以查看的菜单的内容
|
|
|
+ *
|
|
|
+ * @param Request $request
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public function AssignActionBars(Request $request)
|
|
|
{
|
|
|
- $uid = $request->input("uid");
|
|
|
- $rights = $request->input("rights");
|
|
|
- if ($uid == "" || $rights == "") {
|
|
|
- return "invalid uid or rights";
|
|
|
- }
|
|
|
+ // 这里的uid从中间件那里获得
|
|
|
+// $currentUid = $request->input("currentUid");
|
|
|
+ $uid = $request->input("uid"); // 被修改权限用户的id
|
|
|
+ $barIds = $request->input("barIds");
|
|
|
|
|
|
- // todo. 需要在这里获取当前用户id
|
|
|
- $adminUser = 1;
|
|
|
-
|
|
|
- log::debug("GrantPrivilege received admin uid " . $adminUser . ", uid " . $uid . ", rights " . $rights);
|
|
|
- $permission = new Models\Permission();
|
|
|
- try {
|
|
|
- $result = $permission->ModifyRole($adminUser, $uid, $rights);
|
|
|
- if ($result != "success"){
|
|
|
- return $result;
|
|
|
- }
|
|
|
- }catch (Exception $error){
|
|
|
- return "server error: ". $error;
|
|
|
+ $currentUid = 1;
|
|
|
+ // 判断当前用户是否有权分配权限
|
|
|
+ $userRole = new Models\UserRole();
|
|
|
+ $role = $userRole->LoadRoleByUid($currentUid);
|
|
|
+
|
|
|
+ if (!$role || $role->status != "normal" || $role->role & 1 == 0) {
|
|
|
+ return "permission denied";
|
|
|
}
|
|
|
+
|
|
|
+ // 有权分配
|
|
|
+ $userActionBar = new Models\UserActionBar();
|
|
|
+ $userActionBar->AddUserActionBar($uid, $barIds);
|
|
|
return "success";
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分配用户的是否是管理员或者普通用户的权限
|
|
|
+ *
|
|
|
+ * @param Request $request
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public function AssignUserRole(Request $request)
|
|
|
+ {
|
|
|
+ $uid = $request->input("uid");
|
|
|
+ $roles = $request->input("roles");
|
|
|
+
|
|
|
+ $currentUid = 1;
|
|
|
+ $userRole = new Models\UserRole();
|
|
|
+ $role = $userRole->LoadRoleByUid($currentUid);
|
|
|
+
|
|
|
+ if (!$role || $role->status != "normal" || $role->role & 1 == 0) {
|
|
|
+ return "permission denied";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 有权分配
|
|
|
+ $userRole->AssignRoles($uid, $role);
|
|
|
+ return"success";
|
|
|
+ }
|
|
|
}
|