public ActionResult Details(TB_ROLE role) { IPERMISSION bll = Bll_Utilitity.GetPermission(); IEnumerable <TB_PERMISSION> list = bll.ListAll(); Dictionary <string, bool> checkState = new Dictionary <string, bool>(); IROLEPERMISSION rp_bll = Bll_Utilitity.GetRolePermission(); IEnumerable <string> permission_ids = rp_bll.GetPermissionIds(role.ROLE_ID); IROLE r_bll = Bll_Utilitity.GetRole(); role = r_bll.Get(role.ROLE_ID); role.PERMISSION_LIST = list; ViewData["role"] = role; IList <string> permission_id_list = permission_ids as IList <string>; foreach (TB_PERMISSION bean in list) { checkState.Add(bean.PERMISSION_ID, false); } foreach (string p_id in permission_id_list) { if (checkState.ContainsKey(p_id)) { checkState[p_id] = true; } } ViewData["check_state"] = checkState; return(View()); }
public static IROLEPERMISSION GetRolePermission() { if (isInited == false) { init(); isInited = true; } IROLEPERMISSION bll = container.Resolve <IROLEPERMISSION>(); return(bll); }
public bool hasPermission_3(string permission_id, string user_id) { IUSERROLE i_user_role = Bll_Utilitity.GetUserRole(); IROLE i_role = Bll_Utilitity.GetRole(); IROLEPERMISSION i_role_permission = Bll_Utilitity.GetRolePermission(); IEnumerable <string> role_ids = i_user_role.GetRoleIds(user_id); foreach (string role_id in role_ids) { IEnumerable <string> permission_ids = i_role_permission.GetPermissionIds(role_id); foreach (string s_permission_id in permission_ids) { if (s_permission_id == permission_id) { return(true); } } } return(false); }
public Hashtable getAllPermissionIds(string user_id) { Hashtable permission_id_hash = new Hashtable(); IUSERROLE i_user_role = Bll_Utilitity.GetUserRole(); IROLE i_role = Bll_Utilitity.GetRole(); IROLEPERMISSION i_role_permission = Bll_Utilitity.GetRolePermission(); IEnumerable <string> role_ids = i_user_role.GetRoleIds(user_id); foreach (string role_id in role_ids) { IEnumerable <string> permission_ids = i_role_permission.GetPermissionIds(role_id); foreach (string s_permission_id in permission_ids) { if (!permission_id_hash.ContainsKey(s_permission_id)) { permission_id_hash.Add(s_permission_id, s_permission_id); } } } return(permission_id_hash); }
public ActionResult Edit(TB_ROLE role) { if (Session["last_user_id"] == null) { return(RedirectToAction("Index", "Login")); } string user_id = (string)Session["last_user_id"]; if (!p_helper.hasPermission("0107", user_id)) { return(RedirectToAction("Index", "Login")); } IPERMISSION bll = Bll_Utilitity.GetPermission(); IEnumerable <TB_PERMISSION> list = bll.ListAll(); Dictionary <string, bool> checkState = new Dictionary <string, bool>(); IROLEPERMISSION rp_bll = Bll_Utilitity.GetRolePermission(); IEnumerable <string> permission_ids = rp_bll.GetPermissionIds(role.ROLE_ID); IROLE r_bll = Bll_Utilitity.GetRole(); role = r_bll.Get(role.ROLE_ID); role.PERMISSION_LIST = list; ViewData["role"] = role; IList <string> permission_id_list = permission_ids as IList <string>; foreach (TB_PERMISSION bean in list) { checkState.Add(bean.PERMISSION_ID, false); } foreach (string p_id in permission_id_list) { if (checkState.ContainsKey(p_id)) { checkState[p_id] = true; } } ViewData["check_state"] = checkState; return(View()); }
public ActionResult Delete(TB_ROLE role) { if (Session["last_user_id"] == null) { return(RedirectToAction("Index", "Login")); } string user_id = (string)Session["last_user_id"]; if (!p_helper.hasPermission("0108", user_id)) { return(RedirectToAction("Index", "Login")); } if (role == null) { return(RedirectToAction("Index", "ROLE")); } if (role.ROLE_ID == null) { return(RedirectToAction("Index", "ROLE")); } IROLE bll = Bll_Utilitity.GetRole(); IROLEPERMISSION rp_bll = Bll_Utilitity.GetRolePermission(); role = bll.Get(role.ROLE_ID); if (role == null) { return(RedirectToAction("Index", "ROLE")); } if (role.ROLE_ID == null) { return(RedirectToAction("Index", "ROLE")); } if (CommonConfig.isForDemo && role.ROLE_ID.ToLower() == "admin") { TempData["ErrMsg"] = "演示版本,admin角色无法删除"; return(RedirectToAction("Index", "ROLE")); } IEnumerable <string> permissions_list = rp_bll.GetPermissionIds(role.ROLE_ID); string permissions = ""; foreach (string t in permissions_list) { permissions = t + ","; } if (permissions.EndsWith(",")) { permissions = permissions.Substring(0, permissions.Length - 1); } string change_content = "角色ID:" + role.ROLE_ID + ",角色名称:" + role.ROLE_NAME + ",角色权限:" + permissions; IList <String> list = new List <String>(); IEnumerable <String> p_list = list.AsEnumerable <String>(); rp_bll.Save(role.ROLE_ID, p_list); bll.Delete(role.ROLE_ID); IOPLOG op_bll = Bll_Utilitity.GetOpLog(); TB_OP_LOG log = new TB_OP_LOG(); log.OP_USER_ID = (string)Session["last_user_id"]; log.OPER_NAME = "角色删除"; log.OPER_IP = IpHelper.GetClientIP(); log.OPER_TIME = DateTime.Now; log.OPER_DESC = "角色删除(" + change_content + ")"; op_bll.AddLog(log); return(RedirectToAction("Index", "ROLE")); }
public ActionResult CreateSave() { if (Session["last_user_id"] == null) { return(RedirectToAction("Index", "Login")); } string user_id = (string)Session["last_user_id"]; if (!p_helper.hasPermission("0106", user_id)) { return(RedirectToAction("Index", "Login")); } IROLEPERMISSION rp_bll = Bll_Utilitity.GetRolePermission(); IPERMISSION p_bll = Bll_Utilitity.GetPermission(); IEnumerable <TB_PERMISSION> list_permission = p_bll.ListAll(); Dictionary <string, bool> checkState = new Dictionary <string, bool>(); foreach (TB_PERMISSION bean in list_permission) { checkState.Add(bean.PERMISSION_ID, false); } IROLE bll = Bll_Utilitity.GetRole(); string role_id = Request["role.ROLE_ID"]; string role_name = Request["role.ROLE_NAME"]; TB_ROLE role = new TB_ROLE(); role.ROLE_ID = role_id; role.ROLE_NAME = role_name; string permissions = Request["permission"]; string[] ps = null; if (!String.IsNullOrEmpty(permissions)) { ps = permissions.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); if (ps != null && ps.Length > 0) { for (int ii = 0; ii < ps.Length; ii++) { if (checkState.ContainsKey(ps[ii])) { checkState[ps[ii]] = true; } } } } role.PERMISSION_LIST = list_permission; bool isError = false; if (string.IsNullOrEmpty(role_id)) { ModelState.AddModelError("role.ROLE_ID", "角色ID不能为空"); isError = true; } if (string.IsNullOrEmpty(role_name)) { ModelState.AddModelError("role.ROLE_NAME", "角色名称不能为空"); isError = true; } if (isError) { ViewData["role"] = role; ViewData["check_state"] = checkState; return(View("Create")); } bll.Insert(role); string change_content = "角色ID:" + role.ROLE_ID + ",角色名称:" + role.ROLE_NAME + ",角色权限:" + permissions; IOPLOG op_bll = Bll_Utilitity.GetOpLog(); TB_OP_LOG log = new TB_OP_LOG(); log.OP_USER_ID = (string)Session["last_user_id"]; log.OPER_NAME = "角色添加"; log.OPER_IP = IpHelper.GetClientIP(); log.OPER_TIME = DateTime.Now; log.OPER_DESC = "角色添加(" + change_content + ")"; op_bll.AddLog(log); IList <String> list = new List <String>(); if (ps != null) { foreach (string permission_id in ps) { list.Add(permission_id); } } rp_bll.Save(role.ROLE_ID, list); return(RedirectToAction("Index", "Role")); }
public ActionResult EditSave() { if (Session["last_user_id"] == null) { return(RedirectToAction("Index", "Login")); } string user_id = (string)Session["last_user_id"]; if (!p_helper.hasPermission("0107", user_id)) { return(RedirectToAction("Index", "Login")); } IROLEPERMISSION rp_bll = Bll_Utilitity.GetRolePermission(); IPERMISSION p_bll = Bll_Utilitity.GetPermission(); IEnumerable <TB_PERMISSION> list_permission = p_bll.ListAll(); Dictionary <string, bool> checkState = new Dictionary <string, bool>(); foreach (TB_PERMISSION bean in list_permission) { checkState.Add(bean.PERMISSION_ID, false); } IROLE bll = Bll_Utilitity.GetRole(); string role_id = Request["role.ROLE_ID"]; string role_name = Request["role.ROLE_NAME"]; if (CommonConfig.isForDemo && role_id.ToLower() == "admin") { TempData["ErrMsg"] = "演示版本,admin角色无法编辑"; return(RedirectToAction("Index", "ROLE")); } TB_ROLE role = new TB_ROLE(); role.ROLE_ID = role_id; role.ROLE_NAME = role_name; string permissions = Request["permission"]; string[] ps = null; if (!String.IsNullOrEmpty(permissions)) { ps = permissions.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); if (ps != null && ps.Length > 0) { for (int ii = 0; ii < ps.Length; ii++) { if (checkState.ContainsKey(ps[ii])) { checkState[ps[ii]] = true; } } } } role.PERMISSION_LIST = list_permission; string change_content = ""; TB_ROLE old_role = bll.Get(role.ROLE_ID); if (old_role.ROLE_NAME != role.ROLE_NAME) { change_content += "角色名称," + old_role.ROLE_NAME + "改为" + role.ROLE_NAME; } IEnumerable <string> permission_ids = rp_bll.GetPermissionIds(role.ROLE_ID); IList <string> pa = new List <string>(); if (ps != null && ps.Length > 0) { pa = ps.ToList <string>(); } IList <string> pb = permission_ids.ToList <string>(); string result = CollectionUtilitity.compare("原角色权限", "现角色权限", pa, pb); if (result != "") { if (change_content != "") { change_content += "," + result; } } bool isError = false; if (string.IsNullOrEmpty(role_id)) { ModelState.AddModelError("role.ROLE_ID", "角色ID不能为空"); isError = true; } if (string.IsNullOrEmpty(role_name)) { ModelState.AddModelError("role.ROLE_NAME", "角色名称不能为空"); isError = true; } if (isError) { ViewData["role"] = role; ViewData["check_state"] = checkState; return(View("Edit")); } bll.Update(role); IList <String> list = new List <String>(); if (ps != null) { foreach (string permission_id in ps) { list.Add(permission_id); } } rp_bll.Save(role.ROLE_ID, list); IOPLOG op_bll = Bll_Utilitity.GetOpLog(); TB_OP_LOG log = new TB_OP_LOG(); log.OP_USER_ID = (string)Session["last_user_id"]; log.OPER_NAME = "角色编辑"; log.OPER_IP = IpHelper.GetClientIP(); log.OPER_TIME = DateTime.Now; log.OPER_DESC = "角色编辑(" + change_content + ")"; op_bll.AddLog(log); return(RedirectToAction("Index", "Role")); }