2009-08-27 3 views
1

私は、Facebook Connectを使用してユーザーを認証するWebサイトで作業しています。バックエンドには、ユーザーをFacebookのユーザーIDでさまざまなグループやロールに関連付けるためのデータベース構造もいくつかあります。完全自家製の実装を行う場合は、ASP.NETのメンバシップ/ロールプロバイダモデルを使用する価値はありますか?

要するに、プロジェクトの要件は、ASP.NETのメンバシップとロールプロバイダモデルで定義された機能と実際には多くのクロスオーバーを持っていません。

「組み込みのもの」を扱っていて、メンバーシップの静的クラスを介してアクセスする以外に、このもののカスタムメンバーシッププロバイダを実装する理由はありますか?

答えて

7

はい。 MembershipProvider(実際にはValidateUserメソッドを実装する必要がある)を実装するのは非常に簡単で、たくさんのコードを単純化する非常に便利なasp.net機能にアクセスできます(私はPage.Userのようなヘルパーを考えています)。

+2

+1 - これ以上一致できませんでした。プロバイダの作成にかかる労力は、それだけの価値があります。 –

+2

+1 - ValidateUserメソッドを実装するだけです。 – Kjensen

0

ASP.NETのメンバシップモデルに基づいて組み込みコンポーネントまたはサードパーティコンポーネントを使用する場合のみ。 もしそうでなければ、これはあなたのアプリケーションを制限するので、これを気にしないでください。

+1

アプリケーションの制限方法を拡張できますか? –

+0

あなたは 'out'変数参照と例外処理を含むMSが提供するメンバシップモデルを守らなければなりません。 もちろん、実装が非常に簡単で、うまく機能していることが証明されています。 私は、自己責任のあるメンバーシップシステムとASP.NETのものを使用しました。そして、クラシックなASP.NETのMSには本当のメリットはありません。 ASP.NET MVCの場合、MVCがロール(ビューとしての権限を属性として持つ)とうまく組み合わせられているので、MSアプローチを使用する方がより意味があります。 – twk

0

メンバーシップAPIはファサードパターンなので、FacebookがMySpaceの道を歩み、次のソーシャルネットワーキングの流行に変わったときに、別のプロバイダに入れ替えることができます。

Facebookをバックにしてカスタムプロバイダを実装し、テストや将来の校正のために他のものと置き換えることができます。

完全にあなたのソリューションはどれくらい完璧ですか?メンバーシップAPIには、パスワードジェネレータのようなクールなものがあり、オンラインのユーザーを追跡します(ログインの最新性によって)。

関連する問題