2009-05-15 29 views
1

私は、ユーザーを認証する必要があるASP.NETアプリケーション(c#)を開発しています。これを行うために、私はこのアプリケーションのユーザーとSQL Serverデータベースを持っています。ASP.NETでの認証方法

これを行う最善の方法はどれですか?

私は、この読んでいる

:上のユーザーを検索するために、私のADO.NETエンティティコードで

<script runat="server"> 
    void Logon_Click(object sender, EventArgs e) 
    { 
    if ((UserEmail.Text == "[email protected]") && 
      (UserPass.Text == "37Yj*99Ps")) 
     { 
      FormsAuthentication.RedirectFromLoginPage 
      (UserEmail.Text, Persist.Checked); 
     } 
     else 
     { 
      Msg.Text = "Invalid credentials. Please try again."; 
     } 
    } 
</script> 

:私はこのコードを交換するだろう例で

How to: Implement Simple Forms Authentication

をデータベース。それが動作します?

もう一つの方法はMembership([http://msdn.microsoft.com/en-us/library/tw292whz.aspx][2])ですが、これは最も難しい方法だと思います。

Windows Live IDを使用することもできますが、Live IDとユーザーテーブルを接続する方法がわかりません。

ありがとうございました!

答えて

6

メンバーシップは、認証IMOを提供する最も簡単な方法です。 これを使用することに興味があるなら、Scott Mitchellのtutorialをお勧めします。

+1

を実装する方法について説明しています。メンバーシップは、このプロセスの手間を省くことです。 –

+0

他の回答に記載されているように、ルール#1は決して独自の認証メカニズムを作成しません。組み込みのメンバーシップ、ロール、およびプロファイルプロバイダは非常にうまく動作し、使いやすいです。リンクppiotrowiczが提供され、他の4guysのチュートリアルは、実際にそのコンセプトを伝達し、それを実行する方法を実行する上で非常に優れています。 –

3

OWASPのトップ10で最も重要なセキュリティールールの1つは、テストされたメカニズムを利用できます。 ASP.Net認証は使いやすく、試してテストされています。独自のメカニズムを作成する道を進んでいくと、あらゆる種類の痛みに備えています。

Top 10 2007-Broken Authentication and Session Management

2

両方のアプローチは動作しますが、推奨されるのは、二つの理由から独自のメンバシッププロバイダだ実装することです:

  1. .NETで構築された認証メカニズムをより強固である可能性が高いですあなたよりも
  2. 標準の.NETコントロールのいくつかをカスタムユーザーデータベースに接続することができます。

Thisページには、絶対に、独自のメンバシッププロバイダ

+0

例がありますか?私はそれをする方法を知らない。 – VansFannel

+0

ユーザーのデータベースが既に構成されており、ユーザーの詳細がいっぱいの場合は、リンクされているサンプルを使用してプロバイダーを書き込むのが最も簡単なオプションとなり、ユーザーの詳細を標準のASP.NET SQL形式に移植します。 –

関連する問題