4

n層構造をよりよく理解するために、現在持っている既存の動作中のアプリケーションを分割することに取り組んでいます。このアプリは、フォーム認証付きのカスタム メンバーシップとロール プロバイダーを使用します。

現在、すべてのデータ アクセスとビジネス ロジックはすべて同じ ASP.Net ソリューション内にあります。

ビジネス ロジック層 (BLL) とデータ アクセス層 (DAL) を構築し、ビジネス ロジックを抽出しています。MembershipProvider クラスが存在する場所について苦労しています。

  • これらのクラスを利用するビルトイン UI コントロール (ログイン、ユーザー作成ウィザードなど) が密結合しているため、メンバーシップ プロバイダー クラスはプレゼンテーション レイヤーに常駐する必要がありますか?

  • それらは BLL に存在できますか? もしそうなら、プレゼンテーションからそれらを参照するにはどうすればよいですか? BLL が UI から参照されたら、web.config を変更して BLL.membershipprovider を指すようにするだけですか?

間違った道に進む前に、サニティチェックを探しているだけです。残念ながら、Google経由でこれの例を見つけることができませんでした. ヘルプ/ポインタをいただければ幸いです。

4

2 に答える 2

4

メンバーシップ/プロバイダー ノードの web.config キーを使用すると、カスタム タイプを指定できるため、そのキーに適切な名前空間とアセンブリ参照があれば、カスタム メンバーシップ オブジェクトを任意の場所に配置できます。メンバーシップ ロジック (メンバーシップ基本クラスを継承するオブジェクト) 用に別の DLL をお勧めします。この DLL は、すべての内部認証ロジック用に BLL を参照します。

http://msdn.microsoft.com/en-us/library/aa479048.aspx

于 2009-08-24T20:56:13.007 に答える
1

メンバーシップ クラスは、参照されている任意のアセンブリに存在できます。構成で名前空間とクラス名を完全に修飾していることを確認してください。

于 2009-08-24T19:59:53.947 に答える