私は少なくとも私にとっては複雑な質問があります:)そして、それはコーディングよりも多くのアーキテクチャです。カスタムメンバーシップ、MVCおよびWCF。それを実装する場所は?
私はMVCウェブサイトを作成しています。私は、WCFサービスを持って、それはなど私のデータベース、ビジネスオブジェクトとの通信の私の唯一の方法、です
- ウェブサイト(MVC)
- レイヤをホスティング(WCF)のための
- サービス層(インターフェースとimpletementation WCF - クラスライブラリ)
- ビジネス・レイヤー(クラスライブラリ)
- データ・レイヤー(Plinqo - L2S)
- フレームワーク(クラスライブラリ - ここで私は私のカスタムのメンバーシップを持っている)
他の言葉で言えば、私のweb.configのmvc層には接続文字列がありません。ちょうどWebサービスのmambo jamboです。私は既定のメンバシップとロールプロバイダが実装されていません。
カスタムメンバーシップとロールプロバイダを実装しました。しかし、私はそれをサービス層レベルで使用します(私はWCFのweb.configで宣言しました)。つまり、MVCからWebサービスクライアントのvalidateメソッド(client.ValidateUser(User))を呼び出すと、 Membership.ValidateUser(ユーザー名、パスワード)。
私がこのようにした理由を知る必要があれば、私はそれを追加します。ただ私に尋ねる。
私のコントローラでは、自分のメソッドにロール属性を追加すると、mvcがどのようなメンバシップとロールプロバイダをWebconfigに使用しようとしているので失敗することがわかります...もちろん、私はmvcレベルで実装されていませんが、wcfで実装されています。それで、それはnotImplementedエラーをポップするつもりです。私は試していないが、私の内臓感覚です。私のMVCを実装してから、このカスタムメンバシップとロールプロバイダから自分のwcf(データベースコール)を呼び出し、現在のメンバシッププロバイダとロールプロバイダを削除しますか?
私はそれがすべて厄介で混乱していることを知っています。疑問があればお知らせください。
ありがとうございます。