Esempio n. 1
0
        /// -----------------------------------------------------------------------------
        /// <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);
         }
     }
 }