Compartilhar via


ManagementAuthorization Classe

Definição

Fornece funcionalidade para gerenciar a lista de autorização para um site ou aplicativo específico.

public ref class ManagementAuthorization abstract sealed
public static class ManagementAuthorization
type ManagementAuthorization = class
Public Class ManagementAuthorization
Herança
ManagementAuthorization

Exemplos

O exemplo a seguir implementa vários dos métodos e propriedades das ManagementAuthorization classes e ManagementAuthorizationInfo . Este exemplo adiciona um usuário especificado a um site especificado e exibe uma coleção de usuários autorizados desse site especificado.

       // Returns a Property bag that contains the Site Owner Details.
       public PropertyBag GetSiteOwnerDetails(string siteName)
       {
           PropertyBag SiteOwnerDetailsBag = new PropertyBag();

           // Set the userName.
           string userName = "User4";
                     
           string display = null;
           string message = null;
           AppDomain domain = Thread.GetDomain();
           domain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
           WindowsPrincipal principal = (WindowsPrincipal)Thread.CurrentPrincipal;

           // Gets the site from the siteName.
           Site site = base.ManagementUnit.ServerManager.Sites[siteName];
           // Set the path.
           string path = site.Name;
           
           SiteOwnerDetailsBag.Add(0, principal.Identity.Name);
           SiteOwnerDetailsBag.Add(1, 
               ManagementAuthorization.IsAuthorized(principal, path).ToString());
           SiteOwnerDetailsBag.Add(2, siteName as string);
           
           message = "Provider: " + ManagementAuthorization.Provider;
           display = display + message;
           // Get a collection of authorized users.
           ManagementAuthorizationInfoCollection authorizedCollection =
               ManagementAuthorization.GetAuthorizedUsers(path, true, 0, -1);
           message = "\nAuthorizedUsers count: " +
               authorizedCollection.Count.ToString() + "\n  ";
           display = display + message;
           bool isInCollection = false;
           message = null;
           // Search the returned collection.
           foreach (ManagementAuthorizationInfo authorizedInfo in authorizedCollection)
           {
               message = message + "\nName: " + authorizedInfo.Name;
               message = message + "     ConfigurationPath: " + 
                   authorizedInfo.ConfigurationPath;
               message = message + "     IsRole: " + authorizedInfo.IsRole;

               // Check to see if the user is already in the allowed users collection.                
               if (userName.Equals(authorizedInfo.Name))
               {
                   isInCollection = true;
               }
           }

           // Grant the user permission to this site only if 
           // they are not already in the allowed users collection.
           if (!isInCollection)
           {
               ManagementAuthorization.Grant(userName, path, false);
               message = message + "\nadded: " + userName;
           }
           display = display + message;

           string[] configPaths = 
               ManagementAuthorization.GetConfigurationPaths(principal, null);

           message = "\n\nThe current user is a member of " + 
               configPaths.Length + " paths.";
           foreach (string configpath in configPaths)
           {
               message = message + "\npath: " + configpath;
           }
           display = display + message;

           SiteOwnerDetailsBag.Add(3, display as string);

           // Uncomment the following line to rename a configuration path. 
           // ManagementAuthorization.RenameConfigurationPath(path , path + "-new");

           // Uncomment the following line to revoke 
           // all authorizations for the specified user.
           // ManagementAuthorization.Revoke(userName);

           // Uncomment the following line to revoke the 
           // authorization for the specified user to the specified site.
           // ManagementAuthorization.Revoke(userName, path);

           // Uncomment the following line to revoke all 
           // authorization for the specified site.
           // ManagementAuthorization.RevokeConfigurationPath(path);

           return SiteOwnerDetailsBag;
       }

Comentários

As permissões para o Gerenciador do IIS são concedidas para um site ou aplicativo específico e não no nível do servidor. O ManagementAuthorization objeto determina se um usuário ou função deve receber acesso a um site ou aplicativo específico. Uma lista de usuários autorizados está disponível na página Permissões do Gerenciador do IIS do Gerenciador do IIS.

Essa classe não pode ser herdada.

Propriedades

Provider

Obtém o provedor de autorização para o Gerenciador do IIS.

Métodos

GetAuthorizedUsers(String, Boolean, Int32, Int32)

Recupera uma coleção de usuários autorizados para o caminho de configuração especificado.

GetConfigurationPaths(IPrincipal, String)

Retorna uma matriz de caminhos de configuração que a entidade de segurança especificada está autorizada a configurar.

Grant(String, String, Boolean)

Concede autorização a um nome de usuário ou função para o caminho de configuração especificado.

IsAuthorized(IPrincipal, String)

Recupera um valor que indica se a entidade de segurança especificada está autorizada para o caminho de configuração especificado.

RenameConfigurationPath(String, String)

Renomeia um caminho de configuração.

Revoke(String)

Revoga a autorização para o usuário especificado para todos os caminhos de configuração.

Revoke(String, String)

Revoga a autorização para o usuário especificado para o caminho de configuração especificado.

RevokeConfigurationPath(String)

Remove todos os usuários autorizados do caminho de configuração especificado.

Aplica-se a

Confira também