public static List <Sys_Permission> GetList(int userId) { //a.根据用户ID查询角色ID集合 (一对多关系) var listRoleIds = UserRoleRelationAccess.GetList(userId).Select(c => c.SURRRoleId).ToList(); //b.根据角色ID查询权限ID集合 (多对多关系) var listModuleIds = RoleAuthorizeAccess.GetList().Where(c => listRoleIds.Contains(c.SRARoleId)).Select(c => c.SRAModuleId).ToList(); //c.根据权限ID集合查询所有权限实体。 return(PermissionAccess.GetList().Where(c => listModuleIds.Contains(c.Id) && c.SPIsEnabled == 1).ToList()); }
public static new int Insert(Sys_Permission model) { if (model.SPParentId > 0) { var parent = PermissionAccess.Get(model.SPParentId); model.SPLayer = parent == null ? 0 : (parent.SPLayer + 1); } model.SPIsEnabled = 1; model.SPDeleteMark = 0; model.SPCreateUser = OperatorProvider.Instance.Current.UserId; model.SPCreateTime = DateTime.Now; model.SPModifyUser = model.SPCreateUser; model.SPModifyTime = model.SPCreateTime; return(PermissionAccess.Insert(model)); }
public async Task <PermissionAccessResponse> UpdateAsync(PermissionAccess request) { var entity = _context.Set <Permiso>().SingleOrDefault(x => x.Id == new Guid(request.Id)); if (entity is null) { throw new KeyNotFoundException($"Permiso no existe con id: {request.Id}"); } var brand = _mapper.Map(request, entity); _context.Update(brand); await _context.SaveChangesAsync(); return(_mapper.Map <PermissionAccessResponse>(entity)); }
/// <summary> /// 逻辑删除 /// </summary> /// <param name="Id"></param> /// <returns></returns> public static int Delete(int Id) { var model = new Sys_Permission() { Id = Id, SPDeleteMark = 1, SPModifyUser = OperatorProvider.Instance.Current.UserId, SPModifyTime = DateTime.Now, }; var updateColumns = new List <Sys_PermissionFields>() { Sys_PermissionFields.SPDeleteMark, Sys_PermissionFields.SPModifyUser, Sys_PermissionFields.SPModifyTime }; return(PermissionAccess.Update(model, updateColumns)); }
/// <summary> /// 设置权限树 /// </summary> public void SetPermissionTree() { int roleId = Convert.ToInt32(Server.UrlDecode(Request["RoleId"].ToString())); string resultStr = string.Empty; List <string> lsP = new List <string>(); lsP = PermissionAccess.GetInstance().GetParentPermission(); //此处省略得到数据列表的代码 resultStr = ""; resultStr += "["; foreach (string item in lsP) { resultStr += "{"; List <PermissionEntity> lsC = new List <PermissionEntity>(); lsC = PermissionAccess.GetInstance().GetChildPermission(item); //如果某变电站下有线路 if (lsC.Count > 0) { resultStr += string.Format("\"id\": \"{0}\", \"text\": \"{1}\", \"state\": \"closed\"", item, item); resultStr += ",\"children\":["; for (int i = 0; i < lsC.Count; i++) { resultStr += "{"; resultStr += string.Format("\"id\": \"{0}\", \"text\": \"{1}\",\"checked\":{2} ", lsC[i].PermissionId, lsC[i].OperationName, RolePermissionAccess.GetInstance().IsPermissionOn(roleId, lsC[i].PermissionId) == null ? "false" : "true"); resultStr += "},"; } resultStr = resultStr.Substring(0, resultStr.Length - 1); resultStr += "]"; } else { resultStr += string.Format("\"id\": \"{0}\", \"text\": \"{1}\" ", item, item); } resultStr += "},"; } resultStr = resultStr.Substring(0, resultStr.Length - 1); resultStr += "]"; Response.Write(resultStr); }
public static new int Update(Sys_Permission model) { if (model.SPParentId > 0) { var parent = PermissionAccess.Get(model.SPParentId); model.SPLayer = parent == null ? 0 : (parent.SPLayer + 1); } model.SPModifyUser = OperatorProvider.Instance.Current.UserId; model.SPModifyTime = DateTime.Now; var updateColumns = new List <Sys_PermissionFields>() { Sys_PermissionFields.SPParentId, Sys_PermissionFields.SPLayer, Sys_PermissionFields.SPEnCode , Sys_PermissionFields.SPName, Sys_PermissionFields.SPJsEvent, Sys_PermissionFields.SPIcon , Sys_PermissionFields.SPUrl, Sys_PermissionFields.SPRemark, Sys_PermissionFields.SPType , Sys_PermissionFields.SPSortCode, Sys_PermissionFields.SPIsPublic, Sys_PermissionFields.SPIsEnabled , Sys_PermissionFields.SPIsEdit, Sys_PermissionFields.SPModifyUser, Sys_PermissionFields.SPModifyTime }; return(PermissionAccess.Update(model, updateColumns)); }
public void AddEditAccessLevelDetails(List <AccessLevelDetails> AccessLevelDetailsList) { SqlCommand command = null; SqlTransaction transaction = null; StringBuilder process = null; try { process = new StringBuilder(); // Build xml criteria. // Define command. command = mDbConnection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "Proc_AddEditUserAccessLevelDetails"; command.Parameters.Add("@DataAccessLevelDetails", SqlDbType.Xml).Value = PermissionAccess.GetXml(AccessLevelDetailsList); command.Parameters.Add("@hasError", SqlDbType.Bit).Direction = ParameterDirection.Output; command.Parameters.Add("@ErrorMessage", SqlDbType.VarChar, 255).Direction = ParameterDirection.Output; try { // Execute command within transaction. transaction = mDbConnection.BeginTransaction(); command.Transaction = transaction; command.ExecuteNonQuery(); transaction.Commit(); } catch { if (transaction != null) { if (transaction.Connection != null) { transaction.Rollback(); } } throw; } // Get output parameters. bool IshasError = bool.Parse(command.Parameters["@hasError"].Value.ToString()); string errorMessage = command.Parameters["@ErrorMessage"].Value.ToString(); if (IshasError) { // Create exception instance. ValidationException exception = new ValidationException("Validation error occurred."); exception.Data.Add("AccessLevel_Error", errorMessage); throw exception; } } catch { throw; } finally { if (transaction != null) { transaction.Dispose(); } if (command != null) { command.Dispose(); } } }
public static Page <Sys_Permission> GetList(int pageIndex, int pageSize, string keyWord) { return(PermissionAccess.GetList(pageIndex, pageSize, keyWord)); }
public static List <Sys_Permission> GetList() { return(PermissionAccess.GetList()); }
public static long GetChildCount(object parentId) { return(PermissionAccess.GetChildCount(parentId)); }
public static int Delete(params string[] primaryKeys) { //删除权限与角色的对应关系。 RoleAuthorizeAccess.Delete(primaryKeys); return(PermissionAccess.Delete(primaryKeys)); }
public IHttpActionResult GetAssginedPermission(string url, long?roleId, long userType) { PermissionAccess permAccess = new PermissionAccess(); try { if (userType == 1 && (url.ToUpper() == "COMPANIES" || url.ToUpper() == "COMPANY" || url.ToUpper() == "EDITCOMPANY" || url.ToUpper() == "COMPANYROLE" || url.ToUpper() == "COMPANYUSER" || url.ToUpper() == "EDITCOMPANY" )) { permAccess.View = true; permAccess.Add = true; permAccess.Edit = true; permAccess.Delete = true; permAccess.IsAllowed = true; return(Ok(permAccess)); } else { DataTable dt = new DataTable(); bool retVal = false; if (url.ToUpper().Equals("SKIP")) { retVal = true; permAccess.IsAllowed = true; } else if (url.Contains(",")) { long reportId = long.Parse(url.Split(',')[1]); SqlParameter[] param = { new SqlParameter("@roleId", roleId), new SqlParameter("@reportId", reportId), }; DataSet data = _spService.ExcuteSpAnonmious("prc_getReportPermission", param, 1); var isAllowed = data.Tables[0].AsEnumerable().Select(s => new { IsAllowed = s.Field <bool>("IsAllowed"), }).FirstOrDefault(); if (isAllowed != null) { permAccess.IsAllowed = isAllowed.IsAllowed; } } else { SqlParameter[] param = { new SqlParameter("@pageName", url), new SqlParameter("@roleId", roleId), }; DataSet data = _spService.ExcuteSpAnonmious("prc_getAssginedPermission", param, 2); var permission = data.Tables[0].AsEnumerable().Select(s => new { IsAllowed = s.Field <bool>("IsAllowed"), RoleName = s.Field <string>("RoleName"), PermName = s.Field <string>("PermName"), PageName = s.Field <string>("PageName"), }).FirstOrDefault(); var access = data.Tables[1].AsEnumerable().Select(s => new { IsAllowed = s.Field <bool>("IsAllowed"), PermName = s.Field <string>("PermName"), }); if (access != null) { foreach (var item in access) { switch (item.PermName.ToUpper()) { case "VIEW": permAccess.View = item.IsAllowed; break; case "ADD": permAccess.Add = item.IsAllowed; break; case "EDIT": permAccess.Edit = item.IsAllowed; break; case "DELETE": permAccess.Delete = item.IsAllowed; break; } permAccess.IsAllowed = permission.IsAllowed; } } } } return(Ok(permAccess)); } catch { return(Ok(permAccess)); } }
public PermissionBusiness() { dataAccess = new PermissionAccess(); }
public void AuthorizeNo() { PermissionAccess pa = new PermissionAccess(); Assert.AreEqual(false, pa.Authorize("Jj", "k")); }
public void AuthorizeYes() { PermissionAccess pa = new PermissionAccess(); Assert.AreEqual(true, pa.Authorize("Petr", "Petr")); }
private int AddEditPermissions() { int id = 0; try { UsersPermission _objUsersPermission = new UsersPermission(PermissionId); _objUsersPermission.PermissionId = PermissionId; _objUsersPermission.PermissionName = lblPermissionName.Text; _objUsersPermission.LastUpdateUserId = mAppManager.LoginUser.Id; if (UIMODEPERMISSION == UIMODEPERMISSION.EDIT) { _objUsersPermission.IsActive = chkActive.Checked; _objUsersPermission.Reason = Convert.ToString(txtReason.Value); } //*** Locations and Departments ***// List <PermissionAccess> _objPermissionAccessList = new List <PermissionAccess>(); foreach (TreeNode node in tvLocations.Nodes) { //If node has child nodes if (node.Checked == true) //it is better to first check if it is "checked" then proceed to count child nodes { int _objLocationId = string.IsNullOrEmpty(node.Value) ? 0 : Convert.ToInt32(node.Value); if (node.ChildNodes.Count > 0) //check if node has any child nodes { //Check all the child nodes. foreach (TreeNode childNode in node.ChildNodes) { if (childNode.Checked == true) { PermissionAccess _objPermissionAccess = new PermissionAccess(); _objPermissionAccess.LocationId = _objLocationId; _objPermissionAccess.DepartmentId = string.IsNullOrEmpty(childNode.Value) ? 0 : Convert.ToInt32(childNode.Value); _objPermissionAccessList.Add(_objPermissionAccess); } } } } } //*** Clients ***// List <ClientAccess> _objClientAccessList = new List <ClientAccess>(); foreach (TreeNode node in tvClients.Nodes) { if (node.Checked == true) { if (node.ChildNodes.Count > 0) //check if node has any child nodes { //Check all the child nodes. foreach (TreeNode childNode in node.ChildNodes) { if (childNode.Checked == true) { _objClientAccessList.Add(new ClientAccess { ClientId = string.IsNullOrEmpty(childNode.Value) ? 0 : Convert.ToInt32(childNode.Value) }); } } } } } //*** Reports ***// List <ReportAccess> _objReportAccessList = new List <ReportAccess>(); foreach (TreeNode node in tvReports.Nodes) { if (node.Checked == true) { if (node.ChildNodes.Count > 0) //check if node has any child nodes { //Check all the child nodes. foreach (TreeNode childNode in node.ChildNodes) { if (childNode.Checked == true) { _objReportAccessList.Add(new ReportAccess { ReportId = string.IsNullOrEmpty(childNode.Value) ? 0 : Convert.ToInt32(childNode.Value) }); } } } } } IUsersProfile mUserProfile = null; mUserProfile = AppService.Create <IUsersProfile>(); mUserProfile.AppManager = this.mAppManager; mUserProfile.AddEditUserPermissions(_objUsersPermission, _objPermissionAccessList, _objClientAccessList, _objReportAccessList); id = 1; } catch (ValidationException ve) { throw ve; } catch (Exception ex) { throw ex; } return(id); }