Compartir a través de


ManagementAuthorization Clase

Definición

Proporciona funcionalidad para administrar la lista de autorización de un sitio o una aplicación específicos.

public ref class ManagementAuthorization abstract sealed
public static class ManagementAuthorization
type ManagementAuthorization = class
Public Class ManagementAuthorization
Herencia
ManagementAuthorization

Ejemplos

En el ejemplo siguiente se implementan varios de los métodos y propiedades de las ManagementAuthorization clases y ManagementAuthorizationInfo . En este ejemplo se agrega un usuario especificado a un sitio especificado y se muestra una colección de usuarios autorizados de ese sitio 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;
       }

Comentarios

Los permisos para el Administrador de IIS se conceden para un sitio o aplicación específicos y no en el nivel de servidor. El ManagementAuthorization objeto determina si se debe conceder acceso a un usuario o rol a un sitio o una aplicación específicos. Hay disponible una lista de usuarios autorizados en la página Permisos del administrador de IIS del Administrador de IIS.

No se puede heredar esta clase.

Propiedades

Provider

Obtiene el proveedor de autorización para el Administrador de IIS.

Métodos

GetAuthorizedUsers(String, Boolean, Int32, Int32)

Recupera una colección de usuarios autorizados para la ruta de acceso de configuración especificada.

GetConfigurationPaths(IPrincipal, String)

Devuelve una matriz de rutas de acceso de configuración que la entidad de seguridad especificada está autorizada para configurar.

Grant(String, String, Boolean)

Concede autorización a un nombre de usuario o rol para la ruta de acceso de configuración especificada.

IsAuthorized(IPrincipal, String)

Recupera un valor que indica si la entidad de seguridad especificada está autorizada para la ruta de acceso de configuración especificada.

RenameConfigurationPath(String, String)

Cambia el nombre de una ruta de acceso de configuración.

Revoke(String)

Revoca la autorización para el usuario especificado para todas las rutas de configuración.

Revoke(String, String)

Revoca la autorización del usuario especificado para la ruta de acceso de configuración especificada.

RevokeConfigurationPath(String)

Quita todos los usuarios autorizados de la ruta de acceso de configuración especificada.

Se aplica a

Consulte también