2011-09-05 10 views
0

私は、Webアプリケーションを作成したいと私は私がこれまで読んだもののために、ユーザーの認可と認証に関する私のpossibilitesが何であるかを把握しようとしています:asp.netユーザー認可と認証

  1. は、ASPを使用。ネット会員およびロール管理
  2. のOAuthを使用するか、OpenIDのは、自分自身にこの部分を実装
  3. を制御し(これは多くのハードワークのように見え、それにその価値がある場合、私はわからない)

あなたは何をお勧めするか、この問題に関する詳細情報にリンクすることができた場合

ありがとう

ドロン

+2

3つは可能ですが、あなたの質問は建設的ではありません。投票を終了する。 –

答えて

0

んASP.NET MembershipProviderProfileProviderを使用してRoleProviderすることは、あなたのアプリケーションのプラグインを作るようIMO最適なソリューションです-ble、フレームワークを動作させると、抽象レイヤーが強くなります。

静的クラスを使用してプロバイダにアクセスすることはお勧めしません。私は常にDIを通じてプロバイダに依存し、テスト可能な状態を保ちます。

var service = new UserService(Membership.Provider); 
service.MyUserAction("myusername"); 

// rather than 

var user = Membership.GetUser("myusername"); 
... 

OAuthまたはOpenIdは、ユーザーが他のプロバイダからログインできるように、基本的なフォームの実装を補完し、拡張するために使用されていますが、追加のメタデータを格納できるように、ローカルユーザーにマップすることができます。

あなたは本当にFormsAuthentication.SetAuthCookieを通じて認証クッキーを利用することはポスト認証のための素敵なショートカットです、ASP.NET認証を利用するようにプロバイダーを使用するを持っていません。

あなた自身をローリングすることは悪い考えです。構築されたメカニズムは馬鹿な証拠ではありませんが、ほとんどの人が陥る基本的な落とし穴を避けるための基本的な実装です。 authenticationまたはauthorisationロジックにはSessionを使用しないでください。非常に安全です。