次の方法で共有


ManagementAuthorization クラス

定義

特定のサイトまたはアプリケーションの承認リストを管理するための機能を提供します。

public ref class ManagementAuthorization abstract sealed
public static class ManagementAuthorization
type ManagementAuthorization = class
Public Class ManagementAuthorization
継承
ManagementAuthorization

次の例では、 クラスと クラスのいくつかのメソッドとプロパティをManagementAuthorizationManagementAuthorizationInfo実装しています。 次の使用例は、指定したユーザーを指定したサイトに追加し、指定したサイトの承認されたユーザーのコレクションを表示します。

       // 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;
       }

注釈

IIS マネージャーのアクセス許可は、サーバー レベルではなく、特定のサイトまたはアプリケーションに対して付与されます。 オブジェクトは ManagementAuthorization 、特定のサイトまたはアプリケーションへのアクセス権をユーザーまたはロールに付与するかどうかを決定します。 承認されたユーザーの一覧は、 IIS マネージャーの [IIS マネージャーのアクセス許可] ページで確認できます。

このクラスは継承できません。

プロパティ

Provider

IIS マネージャーの承認プロバイダーを取得します。

メソッド

GetAuthorizedUsers(String, Boolean, Int32, Int32)

指定した構成パスの承認されたユーザーのコレクションを取得します。

GetConfigurationPaths(IPrincipal, String)

指定したプリンシパルが構成を許可されている構成パスの配列を返します。

Grant(String, String, Boolean)

指定した構成パスのユーザー名またはロールに対する承認を付与します。

IsAuthorized(IPrincipal, String)

指定したプリンシパルが、指定した構成パスに対して承認されているかどうかを示す値を取得します。

RenameConfigurationPath(String, String)

構成パスの名前を変更します。

Revoke(String)

すべての構成パスに対して、指定したユーザーの承認を取り消します。

Revoke(String, String)

指定した構成パスに対する指定したユーザーの承認を取り消します。

RevokeConfigurationPath(String)

指定した構成パスからすべての承認されたユーザーを削除します。

適用対象

こちらもご覧ください