5

まず、この質問はこれと重複している可能性があることを知っています。はい、私が自分で答えたものについて質問しているのは少し皮肉です。

今、私は ASP.net プロファイルについて話しています。問題があれば MVC を使用してアプリケーションを構築していますが、組み込みの Profile Provider は役に立たないと思います。

現時点では、私は自問自答しています: 自分のアドバイスに従ってカスタム プロファイル プロバイダーを作成する必要がありますか?

いくつかの仮定:

  • 自分で決めたデータベース構造に自分のデータが欲しい
  • これはまったく新しいアプリケーションであり、統合が必要な従来のデータベース構造やユーザーベースはありません
  • 小規模から中規模のユーザー (最大 ~ 5000 ユーザー)
  • ASP.net MVC、Silverlight 2 の可能性が最も高く、Windows Azure の可能性もありますが、まだ実験中ですが、.net 3.5 SP1 は間違いありません。
  • そして、おそらく主な決定点として: フォーム認証を必ずしも使用するのではなく、アプリケーションは最終的に認証に Active Directory または OpenID を使用する可能性があります。

ASP.net メンバーシップを非標準の認証プロバイダー (OpenID) で使用できるかどうかは、まだ調査する必要があります。ASP.net プロファイルは、ASP.net メンバーシップを使用する場合にのみ意味があると考えているため、最終的には両方を記述することになる可能性があります。 OpenID のカスタム メンバーシップ プロバイダー (基本的にブリッジとしてのみ機能します)、およびカスタム プロファイル プロバイダーです。

フレームワークがすでに提供してくれるものを使い続けているので、それは良い方法かもしれないと思いますが、私はメンバーシップとプロファイルの経験がほとんどないので、ここの誰かが私が完全にロールする必要があるかどうかについての洞察を持っているかもしれません私自身の認証および/またはプロファイル、またはカスタムメンバーシップおよびプロファイルプロバイダーを作成したほうがよい場合、これはどうやらSOがしたことですか?

4

2 に答える 2

3

独自のプロファイル プロバイダーを作成した経験はありませんが、独自のメンバーシップ プロバイダーを作成しました。比較的簡単です (実装する必要のないメソッドがたくさんあります)。実際、本当に必要と思われるメソッドは、GetUser() および ValidateUser() メソッドだけです。

少しトリッキーな (そしてプロファイリングする価値がある) 唯一の部分は、GetUser() がかなり頻繁に呼び出されるように見えることであり、常にデータベースにアクセスしないように結果をキャッシュすることを検討する必要があります。

于 2008-11-12T06:00:01.180 に答える
0

何をすべきかという質問に答えるには、座って、認証とプロファイル モデルに必要なすべての機能と要件を正確に把握し、組み込みの .net 機能が提供するものを確認する必要があります。要件のリストができて初めて、自分で作成するか組み込みのプロバイダーを使用するのが最善かどうかを正確に評価できるようになります。

「メンバーシップとプロファイル プロバイダーで x、y、z を行う必要があります。最善の策は何ですか?」

于 2008-11-12T02:57:31.423 に答える