public bool HasPermission(eSys_Module eSys_Module, eSys_User admin, Sys_Module_Actions action) { try { if (eSys_Module == null || admin == null) { return(false); } if (eSys_Module.ID == 0) //System { return(admin.CanAccessSystemMenu); } //Nếu là God, luôn TRUE if (admin.ID == eSys_User.GodUser.ID) { return(true); } string actionid = "@" + (int)action + ";"; //Bản thân eSys_Module ko có action này if (eSys_Module.Actions.IndexOf(actionid) < 0) { return(false); } eSys_RolePermission permission = admin.RolePermissions.FirstOrDefault(o => o.ModuleID == eSys_Module.ID); if (permission == null) { return(false); } if (permission.Permissions.IndexOf(actionid) < 0) { return(false); } return(true); } catch { return(false); } }
private string PermissionRole_RenderPermission(eSys_Role role, eSys_Module eSys_Module, List <eSys_ModuleAction> actions, out bool allActionChecked) { allActionChecked = false; if (role == null || eSys_Module == null) { return(string.Empty); } eSys_RolePermission permission = role.RolePermissions == null ? null : role.RolePermissions.FirstOrDefault(o => o.ModuleID == eSys_Module.ID); string[] eSys_ModuleActions = eSys_Module.Actions.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (eSys_ModuleActions.Length == 0) { return(string.Empty); } string html = string.Empty; allActionChecked = true; foreach (string sActionId in eSys_ModuleActions) { int actionId = int.Parse(sActionId.Replace("@", "")); eSys_ModuleAction actionEntity = actions.FirstOrDefault(o => o.ID == actionId); if (actionEntity == null) { continue; } bool hasAction = permission == null ? false : permission.Permissions.IndexOf("@" + actionId.ToString() + ";") >= 0 ? true : false; string cbxId = "cbxPermission-" + eSys_Module.ID.ToString() + "_" + actionId.ToString(); html += "<label class=\"checkbox-inline\" for=\"" + cbxId + "\">" + "<input class=\"cbxAction\" onclick=\"sysrolepermission.oncheckaction(this);\" " + (hasAction ? "checked" : "") + " type=\"checkbox\" id=\"" + cbxId + "\" name=\"" + cbxId + "\" value=\"" + actionEntity.ID.ToString() + "\"> " + actionEntity.Name + "</label>"; if (!hasAction) { allActionChecked = false; } } return(html); }
public bool HasPermission(eSys_Module eSys_Module, eSys_User admin, Sys_Module_Actions action) { return(((BasePage)this.Page).HasPermission(eSys_Module, admin, action)); }