2009-06-24 15 views
0

ログインシステムをクッキーではなく、ローカル(サーバー上)のSQL DB内のテーブルに作成するWebサイトを作成します。データベース駆動型ログインシステムの作成方法

これを行う方法はありますか? 部分的な方法はありませんか?

クッキーの代わりにどこに保存すればよいですか?

答えて

3

ASP.NETは、セッションCookieを使用してユーザーの要求を追跡します(既定ではセッションCookieが使用されます)。 Cookielessセッションを使用すると、ブラウザからのすべての要求にセッションIDが追加されます。多くのシナリオでは、これも受け入れられない可能性があります。

データベースをヒットし、各要求に「LoggedIn」フラグが付いているかどうかを確認する場合でも、着信要求を特定のユーザーに属するものとして識別する方法が必要です。これは、セキュリティのシナリオに応じて、隠しフィールドで暗号化された値の形式になる可能性があります。つまり、クッキーの使用よりもはるかに良い方法ではありません。クライアントからののデータは改ざんされている可能性があるためです。

個人的には、正しく暗号化する限り、ユーザーのリクエストを追跡するのにクッキーが優れていると思います。

1

Cookieless ASP.NET

あなたがあなたの特定の問題に関する詳細を含める必要がありますログインシステムを実装し、実際に支援が必要な場合。

+0

+1 - このメソッドは完全に無視されました –

+0

質問が更新されました – Shimmy

0

SqlMembershipProviderを使用してください。

+0

どのようにCookieの必要性が排除されますか? – Cerebrus

+0

それは質問の残りの半分に答えます - SQLデータベースによって駆動されるログインシステムを実装する方法... – GalacticCowboy

+0

つまり、ホイールを再構築しないでください。 – GalacticCowboy

2

あなたには依然としてユーザーを区別する何らかの方法が必要です。クッキーを使用しない場合は、その情報をURLで転送するか、単一のIPアドレスから1人のユーザーのみを許可する必要があります(これは本当にばかげています)。クッキーはそれほど悪くはありません:-)。

1

ユーザー名などもデータベースに保存できますが、ユーザーがページ間を移動する際にユーザーを認識する方法が必要です。それはこのログイントークンを維持するために、この中のクッキーの役割です...

このトークンを処理する他の方法を実装することは可能です。このトークンを格納するには、URLまたはsommeの非表示フィールド(ASP.NETのViewStateなど)を使用できます。

です。それを行うことができます。しかし、ASP.NETがすでに提供しているものを使用することはできないので、いくつかの作業が必要です。

関連する問題