2011-01-12 2 views
2

フォーム認証の必要性を判断できませんか?フォーム認証は、パーソナライゼーションによく使用されます。ここでは、既知のユーザーに対してコンテンツがカスタマイズされます。私はそのような要件を持っていません。私はDBにユーザー名とパスワードを持っており、DBに対してユーザーを認証する必要がありますか? ASP.NET 2.0で同じことを達成するために推奨されるベストプラクティスは何ですか?ASP.NETフォーム認証 - いつ使用するのですか?

+0

あなたは誤解されています。フォーム認証は、単に(あなたが推測できる)認証に使用されます。 – leppie

+1

私は誤解を招いていると思いますが、これは2番目の段落に明記されているので、私は間違っていると思います。http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/3b69057f-39a7-4d0b-9315-ccc66a0c6676 mspx?mfr = true – Jimmy

+0

@Artem K.ほとんどの時間あなた自身の質問に答えると簡単ではありません。:) –

答えて

1

TL; DR: FormsAuthenicationクラスはパスワードとは関係ありません。ユーザーをあなたのウェブサイトにログインさせ続けるには、それを使用する必要があります。パスワードを検証するには、Membershipクラスまたは独自のカスタムシステムを使用します。


FormsAuthenticationクラスのドキュメントから:

フォーム認証は Windows認証を必要としないWeb アプリケーションのユーザーと パスワード検証を可能にします。形式が の場合、ユーザー情報は外部データソースに 、メンバーシップデータベースなどは 、 アプリケーションの構成ファイルは に格納されます。ユーザーが を認証すると、フォーム認証 は の認証済みユーザーが の認証済みユーザーが各要求で資格情報を提供する必要がないように、 のCookieまたはURLに認証チケットを保持します。

FormsAuthenticationのクラス定義を見ると、Authenticateメソッドが表示されます。ドキュメントは、「は、アプリケーションの構成ファイルに保存された資格情報に対するユーザー名とパスワードを検証します。あなたは、データベース内のユーザーとパスワードを保存するので、このを使用したくない、ない設定ファイル語ります。これは、FormsAuthenticationクラス全体のパスワードに関連する唯一の方法です。

フォームチケットを発行する正しい方法は、というパスワードを取らないSetAuthCookieメソッドです()。だから、どのように/あなたはパスワードを確認しますか?

回答:Membership(またはカスタム)。

ASP.NETバージョン2.0のメンバーシップ 機能は、アプリケーション・ユーザーのための安全な資格 ストレージを提供します。また、 は、 という認証でフォームを使用すると、ユーザー の資格情報の検証作業を簡略化するメンバーシップAPIを提供します。メンバーシッププロバイダ 抽象的な基礎ストアは、ユーザー資格情報を維持するために使用されます。

メンバーシップは大きな話題であり、実際にはメンバーシップの研究やテストアプリケーションの作成に時間を費やす必要があります。私は少なくともMultipart Series on ASP.NET's Membership, Roles, and Profileの最初の3つの記事を読んでいました。

これを読んだら、あなた自身のカスタムメンバーシッププロバイダを書くべきかどうか疑問に思うでしょう。あなたはそれについての指導のためにSOのいくつかの答えをここで見てみるか、それが現れたときに新しい質問を開始したいかもしれません。

3

フォーム認証は認証に使用されます。は、メンバーシップ情報を使用してページをカスタマイズしますが、これを行う必要はありません。

+1

任意のテクノロジと同様に、潜在的な用途が多数あります。あなたがめったに彼らのすべてを実装する必要はありません良質に感謝します。 –

関連する問題