public async Task <IActionResult> Create(/*[Bind("Id,Name,Decription")]*/ RoleJson role) { Logger.Trace($"[{nameof(Create)}] 请求参数; \r\n{JsonUtil.ToJson(role)}"); // 0. 参数检查 if (role == null) { return(View(nameof(Create))); } try { // 1. 权限检查 if (!await RoleOrgPerManager.HasPermissionInSelfOrg(SignUser.Id, Constants.ROLE_CREATE)) { Logger.Warn($"[{nameof(Create)}] 用户[{SignUser.SignName}]({SignUser.Id})没有权限({Constants.ROLE_CREATE})"); ModelState.AddModelError("All", "没有权限"); return(View(role)); } // 2. 业务处理 // 创建角色 -与组织关联 // TODO: 新增一个接口:在指定组织下创建角色(RoleManager.CreateByOrgIdUserId(role, orgId, SignUser.Id)) await RoleManager.CreateForOrgByUserId(role, SignUser.Id); return(RedirectToAction(nameof(Index))); } catch (Exception e) { Logger.Error($"[{nameof(Create)}] 服务器错误: \r\n{e.ToString()}"); ModelState.AddModelError("All", e.Message); return(View(role)); } }
public async Task <IActionResult> Edit(string id, [Bind("Id,Name,Decription")] RoleJson role) { Logger.Trace($"[{nameof(Create)}] 请求参数; 角色({id}) \r\n{JsonUtil.ToJson(role)}"); // 0. 参数检查 if (id != role.Id) { return(NotFound()); } try { // 1. 权限检查ROOT_ROLE_UPDATE (TODO: ROLE > ROLE_SAVE > ROLE_SAVE_UPDATE) if (!await RoleOrgPerManager.HasPermission <Role>(SignUser.Id, Constants.ROLE_MANAGE, id)) { Logger.Warn($"[{nameof(Edit)}] 用户[{SignUser.SignName}]({SignUser.Id})没有权限({Constants.ROLE_MANAGE})"); ModelState.AddModelError("All", "没有权限"); return(RedirectToAction(nameof(Index))); } // 2. 业务处理 await RoleManager.Update(role); return(RedirectToAction(nameof(Index))); } catch (Exception e) { if (!await RoleManager.ExistById(role.Id)) { return(NotFound()); } else { Logger.Error($"[{nameof(Edit)}] 服务器错误: \r\n{e.ToString()}"); ModelState.AddModelError("All", e.Message); return(View(role)); } } }