ManagementAuthorization Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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. |