0

WebサイトでWindows認証を使用していますが、アクセスレベルを設定したいと考えています。現在、[Authorize(Users = "userA")]構文を使用しています。

ただし、20を超えるWindowsアカウントがサイトにアクセスしているため、各Authorizeステートメントで20人のユーザーをハードコーディングする必要はありません。さらに、一部のユーザーは他のユーザーとは異なるアクセス権を持つ必要があります。CustomAuthorizationAttributeが反復するユーザーのリストを作成して、目的のユーザーがその中に含まれているかどうかを確認することを考えました。

基本的に、Forms認証を使用せずにロールを取得しようとしています。

これを行うための最も効果的で最も簡単な方法は何ですか?

4

2 に答える 2

0

あなたの答えはActiveDirectoryドメイン内にあります。MVC 3を使用しているため、次の名前空間「ディレクトリサービスアカウント管理」にアクセスできる必要があります。

http://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx

以下のプロセス全体を説明するためにこの記事を見ることができます。これは、箱から出してすぐに使用できるサンプルコードを提供します。

http://msdn.microsoft.com/en-us/magazine/cc135979.aspx

警告:LDAP接続文字列も確立する必要があります。LDAPは、保護されたWindowsデータベースからその情報を取得するために使用されるプロトコルです。

http://technet.microsoft.com/en-us/library/aa996205(v=exchg.65).aspx

実際に使用されているコードを確認するには、次の手順に従います。

http://www.willasrari.com/blog/query-active-directory-users-using-c/000133.aspx

IIS7を使用して.NET3.5環境でこれと同様のことを行いました。

于 2012-07-03T20:47:01.093 に答える
0

ロールベースの承認について私が今まで読んだ中で最高の記事の1つは、 フォーム認証を使用したロールベースの承認パート2です。DarrenNeimkeScottMitchellによるものです。彼らはASP.NET2.0用に作成しましたが、バージョン4.0(および私が知る限り4.5)では概念は変更されていません。

この分野のマスターになるには、このMSDNとそのすべての章をお読みください。

安全なASP.NETアプリケーションの構築:認証、承認、および安全な通信

于 2012-07-04T00:50:09.677 に答える