/// ----------------------------------------------------------------------------- /// <summary> /// AddPagePermission adds a TabPermission to a TabPermission Collection /// </summary> /// <param name="permissions">Page Permissions Collection for this page</param> /// <param name="key">The Permission key</param> /// <param name="roleId">The role given the permission</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- private static void AddPagePermission(Security.Permissions.TabPermissionCollection permissions, string key, int roleId) { Security.Permissions.PermissionController objPermissionController = new Security.Permissions.PermissionController(); Security.Permissions.PermissionInfo objPermission = (Security.Permissions.PermissionInfo)objPermissionController.GetPermissionByCodeAndKey("SYSTEM_TAB", key)[0]; Security.Permissions.TabPermissionInfo objTabPermission = new Security.Permissions.TabPermissionInfo(); objTabPermission.PermissionID = objPermission.PermissionID; objTabPermission.RoleID = roleId; objTabPermission.AllowAccess = true; permissions.Add(objTabPermission); }
private static void DeserializeTabPermissions(XmlNodeList nodeTabPermissions, TabInfo objTab, bool IsAdminTemplate) { Security.Permissions.PermissionController objPermissionController = new Security.Permissions.PermissionController(); Security.Permissions.PermissionInfo objPermission; Security.Permissions.TabPermissionInfo objTabPermission; RoleController objRoleController = new RoleController(); RoleInfo objRole; int RoleID; int PermissionID = 0; string PermissionKey; string PermissionCode; string RoleName; bool AllowAccess; ArrayList arrPermissions; int i; foreach (XmlNode xmlTabPermission in nodeTabPermissions) { PermissionKey = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "permissionkey"); PermissionCode = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "permissioncode"); RoleName = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "rolename"); AllowAccess = XmlUtils.GetNodeValueBoolean(xmlTabPermission, "allowaccess"); arrPermissions = objPermissionController.GetPermissionByCodeAndKey(PermissionCode, PermissionKey); for (i = 0; i <= arrPermissions.Count - 1; i++) { objPermission = (Security.Permissions.PermissionInfo)arrPermissions[i]; PermissionID = objPermission.PermissionID; } RoleID = int.MinValue; switch (RoleName) { case Globals.glbRoleAllUsersName: RoleID = Convert.ToInt32(Globals.glbRoleAllUsers); break; case Common.Globals.glbRoleUnauthUserName: RoleID = Convert.ToInt32(Globals.glbRoleUnauthUser); break; default: PortalController objPortals = new PortalController(); PortalInfo objPortal = objPortals.GetPortal(objTab.PortalID); objRole = objRoleController.GetRoleByName(objPortal.PortalID, RoleName); if (objRole != null) { RoleID = objRole.RoleID; } else { if (IsAdminTemplate && RoleName.ToLower() == "administrators") { RoleID = objPortal.AdministratorRoleId; } } break; } if (RoleID != int.MinValue) { objTabPermission = new Security.Permissions.TabPermissionInfo(); objTabPermission.TabID = objTab.TabID; objTabPermission.PermissionID = PermissionID; objTabPermission.RoleID = RoleID; objTabPermission.AllowAccess = AllowAccess; objTab.TabPermissions.Add(objTabPermission); } } }