3

私は現在、主に新しいテクノロジーとパターン (リポジトリ、uow、サービス、ioc、ef4、mvc3) を実践するために、n 層の Web アプリケーションを構築しています。

たくさんの髪の毛を引っ張った後、リポジトリを使用してサービスレイヤーを介してエンティティを保存するef4ができました。

私は現在、サービス層で必要なメソッドを定義し始めており、認証の実装を開始するには今が良い時期だと考えています。通常、私は自分の認証コードをロールバックしますが、友人からメンバーシップ プロバイダーを試すように言われました。

明らかに、これを mvc3 Web アプリ内で使用するつもりですが、これをサービス層内でも使用できるかどうか疑問に思っていますか? 記事やブログの投稿を教えてもらえますか?

注意。明白なことを述べている場合は申し訳ありませんが、サービスレイヤーについて言及している場合、WCF を意味するものではないことを明確にしたかっただけです。これらは、サービス層パターンを尊重する私自身のクラスです - http://martinfowler.com/eaaCatalog/serviceLayer.html。そうは言っても、後日、WCF サービスを介してこのサービス層を公開したいと思うかもしれません。

数時間グーグルで検索しましたが、何も思いつきませんでした!

どんな助けでも本当に感謝しています。

4

2 に答える 2

1

これはScott Mitchellによる18 部構成のシリーズ記事です。

これは、asp.net の認証、承認、およびメンバーシップ プロバイダーに関するすべての機能の非常に詳細な説明です。同じ著者からこれに関するより良い情報源を見つけたことはありません。

特に変更を加えることなく、現在 EF4 で既に行っているように、リポジトリ パターンを使用して実装を非表示にすることができます。

お役に立てれば!

于 2011-01-22T14:34:36.310 に答える
1

これを行う 1 つの方法は、ユーザー名、リモート IP アドレスなどを保持する「SecurityContext」クラスを作成することです。次に、WCF サービスへのプロキシ クラスとして機能する Agent クラスを作成します。Agent クラスでは、静的クラスを使用してセキュリティ コンテキストを作成できます。次に、セキュリティが必要なすべてのサービス メソッドで、この SecurityContext を他の層に渡すことができます。このように、フロント エンドでの認証やドメイン/ビジネス ロジック レイヤーでの監査などを行うのに十分な柔軟性があります。

于 2011-02-01T00:45:26.573 に答える