// GET api/values/5 public APIJsonResult GetList(int pageSize, int pageIndex, string keywords) { int totalCount = 0; var roleList = new TRoleBLL().PagerQuery(pageSize, pageIndex, out totalCount, c => c.Name.Contains(keywords), c => c.CreateDate, true); var roleModelList = UtilHelper.ConvertObjList <TRole, RoleModel>(roleList); for (var i = 0; i < roleModelList.Count; i++) { var roleModel = roleModelList[i]; var role = roleList[i]; roleModel.UserCount = role.TAdminUserRole.Count; } return(SuccessList("", roleModelList, totalCount)); }
public APIJsonResult Delete(int roleID) { var roleBLL = new TRoleBLL(); try { roleBLL.Delete(roleID); }catch (ValidationException ex) { return(Failed(ex.Message)); } roleBLL.SaveChanges(); return(Success()); }
// GET api/values/5 public APIJsonResult Get(int id) { var role = new TRoleBLL().Find(c => c.ID == id); var roleModel = UtilHelper.CopyProperties <RoleModel>(role); if (role.TRolePermission != null && role.TRolePermission.Count > 0) { roleModel.PermissionIDList = role.TRolePermission.Select(c => c.PermissionID).ToList(); } return(Success("", new { Data = roleModel } )); }
/// <summary> /// 权限判断 /// </summary> /// <param name="filterContext"></param> public void OnAuthorization(AuthorizationContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } if (filterContext.HttpContext.Request.Url == null) { throw new ArgumentNullException("filterContext"); } string pageUrl = filterContext.HttpContext.Request.Url.AbsolutePath; //OperateContext.GetThisPageUrl(false); // 允许匿名访问 用于标记在授权期间要跳过 AuthorizeAttribute 的控制器和操作的特性 var actionAnonymous = filterContext.ActionDescriptor.GetCustomAttributes(typeof(AllowAnonymousAttribute), true) as IEnumerable <AllowAnonymousAttribute>; var controllerAnonymous = filterContext.Controller.GetType().GetCustomAttributes(typeof(AllowAnonymousAttribute), true) as IEnumerable <AllowAnonymousAttribute>; if ((actionAnonymous != null && actionAnonymous.Any()) || (controllerAnonymous != null && controllerAnonymous.Any())) { return; } //url获取token var content = filterContext.HttpContext; var adminUser = LoginManager.GetLoginUser(); if (adminUser == null) // not logined { ProcessNotLogin(filterContext); return; } var permissionAttr = filterContext.ActionDescriptor.GetCustomAttributes(typeof(PermissionAttribute), true) as IEnumerable <PermissionAttribute>; if (permissionAttr == null || permissionAttr.Count() == 0) { return; } var hasPermission = new TRoleBLL().CheckRolePermissions(adminUser.RoleID, permissionAttr.ToList()[0].PermissionList); if (!hasPermission) { ProcessNoPermission(filterContext); } }
// GET api/values/5 public APIJsonResult Add(RoleModel roleModel) { roleModel.Name = roleModel.Name.Trim(); var roleBLL = new TRoleBLL(); var role = new TRole(); UtilHelper.CopyProperties(roleModel, role); AddCreateInfo(role); try { roleBLL.Add(role); } catch (ValidationException ex) { return(Failed(ex.Message)); } roleBLL.SaveChanges(); if (roleModel.PermissionIDList != null && roleModel.PermissionIDList.Count > 0) { var rolePermissionBLL = new TRolePermissionBLL(); foreach (var permissionID in roleModel.PermissionIDList) { var rolePermission = new TRolePermission() { PermissionID = permissionID, RoleID = role.ID }; AddCreateInfo(rolePermission); rolePermissionBLL.Add(rolePermission); } rolePermissionBLL.SaveChanges(); } return(Success()); }
public APIJsonResult Edit(RoleModel roleModel) { var roleBLL = new TRoleBLL(); var role = new TRole(); UtilHelper.CopyProperties(roleModel, role); AddUpdateInfo(role); try { roleBLL.Edit(role, new string[] { "Name" }); } catch (ValidationException ex) { return(Failed(ex.Message)); } roleBLL.SaveChanges(); var rolePermissionBLL = new TRolePermissionBLL(); rolePermissionBLL.Delete(c => c.RoleID == role.ID); if (roleModel.PermissionIDList != null && roleModel.PermissionIDList.Count > 0) { foreach (var permissionID in roleModel.PermissionIDList) { var rolePermission = new TRolePermission() { PermissionID = permissionID, RoleID = role.ID }; AddCreateInfo(rolePermission); rolePermissionBLL.Add(rolePermission); } } rolePermissionBLL.SaveChanges(); return(Success()); }
// GET api/values/5 public APIJsonResult GetModuleList() { var loginUser = LoginManager.GetLoginUser(); if (loginUser == null) { return(Failed("No module found.")); } var permissions = new TRoleBLL().GetPermissions(loginUser.RoleID); var moduleBLL = new TModuleBLL(); var modules = moduleBLL.GetUserModules(permissions); var moduleModels = UtilHelper.ConvertObjList <TModule, ModuleModel>(modules); UtilHelper.ConvertChildObjList <TModule, ModuleModel, TModule, ModuleModel>(modules, moduleModels, "TModule1", "ChildModules"); return(Success("", new { Modules = moduleModels })); }