1

ASP.NETイントラネットアプリケーションを開発しました。ここで、アプリケーションの認証を追加するように求められました。これはActiveDirectoryに基づいている必要があります。ユーザーはログインやパスワードを入力しないでください。

ASP.NET C#コード内から、次のようなものを確認できるはずです。

if (User.IsInRole("MyApplicationReaders"))
{
     doSomething();
}
else if (User.IsInRole("MyApplicationAdmins"))
{
     doSomethingElse();
}

MyApplicationReadersとMyApplicationAdminsは、ActiveDirectoryグループの名前です。

これを実現するための簡単なステップバイステップのチュートリアルを教えていただけますか?見つかりませんでした:-(

4

2 に答える 2

2

もっと一生懸命探してみてください。

構成ファイルの認証方法に追加する必要があります。

<authentication mode="Windows" />

また、承認ルールを追加します。

<authorization>
  <allow users="DomainName\Bob, DomainName\Mary" />
  <allow roles="BUILTIN\Administrators, DomainName\Manager" />
  <deny users="*" />
</authorization>

このページはヘルプ用です。

PS: アプリに Windows 認証を追加すると、認証されたユーザーを確認できるようになりUser.IsInRoleます。ただし、一部のブラウザーでは、ユーザーは自分の Windows 資格情報を入力するように求められます。

于 2012-07-16T12:56:34.180 に答える
1

ユーザーを自動的に認証するように IIS を設定できますが、通常は独自の承認スキームを実装します。過去に、データベースを使用して AD アカウントをアプリケーションの役割/権限にマップしていました。

IsInRole() を使用するには、ユーザー プリンシパル オブジェクトを設定する必要があります。これを行う最も簡単な場所は、Global.asax イベント BeginRequestです。Custom Role Providerの作成も参照してください。

于 2012-07-16T13:06:30.037 に答える