1

NT Authority \ SystemのセキュリティコンテキストでWindowsサービスとして実行される多数のサービスがあります(サービスはNetTCPベースです)。WCFとPrincipalPermission

ユーザー エージェント 承認 管理者(管理者の3つのレベル)私はに接続しているユーザーを取得することができます知っている

:これらのサービスにアクセスすることを許可するActive Directoryに格納されている6つのグループがあります。 ServiceSecurityContext.Current.WindowsIdentity.Nameを使用して

私が行う必要があるのは、渡されるユーザーコンテキストが特定のサービスにアクセスできるビジネスレイヤーで検証することです。私はそれを渡すPrincipalPermissionを使用している私の会社がサポートしている古いアプリケーションに従いたいと思います役割とアクセスを確保するためにDemand()メソッドを使用しています。

私はPrincipalPermissionにServiceSecurityContextユーザ名とそれに関連するロール(グループ)を渡すと、サービスがADアカウントのコンテキストで実行されているため、背後でActive Directoryにヒットすることを自動的に知るでしょうか同じドメインですか?それとも私は何か特別なことがありますか?

答えて

2

右に、役割を要求すると、IPrincipal.IsInRoleが呼び出されます。これはプリンシパルが持つ実装を使用します。つまり、Windowsに設定されていれば、ADにヒットするすべての作業を行います。

+0

パーフェクト、私はそれに応じて私のセキュリティ層を書きます。このような迅速な対応に感謝します! – RubyHaus