SetPermissionForGlobals() public static method

Sets a permission for a global resource.
public static SetPermissionForGlobals ( AuthStatus status, string action, UserGroup group ) : bool
status AuthStatus The authorization status.
action string The action of which to modify the authorization status.
group UserGroup The group subject of the authorization change.
return bool
Esempio n. 1
0
        /// <summary>
        /// Sets the default permissions for the administrators group, properly importing version 2.0 values.
        /// </summary>
        /// <param name="administrators">The administrators group.</param>
        /// <returns><c>true</c> if the operation succeeded, <c>false</c> otherwise.</returns>
        public static bool SetAdministratorsGroupDefaultPermissions(UserGroup administrators)
        {
            // Administrators can do any operation
            return(AuthWriter.SetPermissionForGlobals(AuthStatus.Grant, Actions.FullControl, administrators));

            // Settings.ConfigVisibleToAdmins is not imported on purpose
        }
Esempio n. 2
0
        /// <summary>
        /// Sets the default permissions for the administrators group, properly importing version 2.0 values.
        /// </summary>
        /// <param name="wiki">The wiki.</param>
        /// <param name="administrators">The administrators group.</param>
        /// <returns><c>true</c> if the operation succeeded, <c>false</c> otherwise.</returns>
        public static bool SetAdministratorsGroupDefaultPermissions(string wiki, UserGroup administrators)
        {
            // Administrators can do any operation
            AuthWriter authWriter = new AuthWriter(Collectors.CollectorsBox.GetSettingsProvider(wiki));

            return(authWriter.SetPermissionForGlobals(AuthStatus.Grant, Actions.FullControl, administrators));

            // Settings.ConfigVisibleToAdmins is not imported on purpose
        }
Esempio n. 3
0
        /// <summary>
        /// Adds some ACL entries for a user.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="grants">The granted actions.</param>
        /// <param name="denials">The denied actions.</param>
        /// <returns><c>true</c> if the operation succeeded, <c>false</c> otherwise.</returns>
        private bool AddAclEntries(UserInfo user, string[] grants, string[] denials)
        {
            AuthWriter authWriter = new AuthWriter(Collectors.CollectorsBox.GetSettingsProvider(currentWiki));

            foreach (string action in grants)
            {
                bool done = authWriter.SetPermissionForGlobals(AuthStatus.Grant, action, user);
                if (!done)
                {
                    return(false);
                }
            }

            foreach (string action in denials)
            {
                bool done = authWriter.SetPermissionForGlobals(AuthStatus.Deny, action, user);
                if (!done)
                {
                    return(false);
                }
            }

            return(true);
        }
Esempio n. 4
0
        /// <summary>
        /// Adds some ACL entries for a group.
        /// </summary>
        /// <param name="group">The group.</param>
        /// <param name="grants">The granted actions.</param>
        /// <param name="denials">The denied actions.</param>
        /// <returns><c>true</c> if the operation succeeded, <c>false</c> otherwise.</returns>
        private bool AddAclEntries(UserGroup group, string[] grants, string[] denials)
        {
            foreach (string action in grants)
            {
                bool done = AuthWriter.SetPermissionForGlobals(AuthStatus.Grant, action, group);
                if (!done)
                {
                    return(false);
                }
            }

            foreach (string action in denials)
            {
                bool done = AuthWriter.SetPermissionForGlobals(AuthStatus.Deny, action, group);
                if (!done)
                {
                    return(false);
                }
            }

            return(true);
        }