1

当社のすべての社内プロジェクトでは、Active Directory 認証と偽装を使用しています。これは、会社で受け入れられているセキュリティ ポリシーです。

現在、ユーザー プロファイル情報を保存する必要があるシナリオがあり、ASP.Net の標準である組み込みのプロファイル プロバイダーを使用したいと考えています。以前はフォーム認証でこれをうまく使用していましたが、Windows 認証を使用する場合にこれを実装する方法に関する有用な情報が見つかりません。

  • すぐに Windows 認証で動作するプロファイル プロバイダーを取得する方法はありますか?
  • カスタム プロファイル プロバイダーを作成する必要がありますか?

データは、Active Directory ではなく、データベースに保存されます。ただし、後者が可能である場合は、いくつかのガイダンスをいただければ幸いです。

ノート

  • Role プロバイダーを使用する必要はありません。これは AD によって処理されます。
  • プロファイル プロバイダーを機能させるために AD メンバーシップ プロバイダーを実装する必要があるかどうかはわかりません。
4

1 に答える 1

3

標準のSqlProfileProviderを使用できます。ユーザー名として、Context.User.Identity.Nameプロパティを使用します。ASP.NETは、それを追跡するために、標準テーブルにユーザーエントリを自分で作成します。役割プロバイダーは、Windows認証と組み合わせて機能します。詳細については、次のリンクを参照してください:http ://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

web.configでプロファイルプロバイダーを有効にして構成すると、次のように使用できます。

ProfileBase profile = ProfileBase.Create(Context.User.Identity.Name, true);
profile.SetPropertyValue("MyProfileProperty", propertyValue);
profile.Save();

幸運を!

于 2009-09-18T09:19:07.350 に答える