ログイン システムを Cookie で処理するのではなく、ローカル (サーバー上の) SQL DB のテーブルで処理する Web サイトを作成したいと考えています。
それを行う方法はありますか?部分的な方法でもありませんか?
クッキーの代わりに何をどこに保存すればよいですか???
ログイン システムを Cookie で処理するのではなく、ローカル (サーバー上の) SQL DB のテーブルで処理する Web サイトを作成したいと考えています。
それを行う方法はありますか?部分的な方法でもありませんか?
クッキーの代わりに何をどこに保存すればよいですか???
ASP.NET は、デフォルトでセッション Cookie を使用してユーザー要求を追跡します。Cookie を使用しないセッションを使用すると、ブラウザからのすべてのリクエストにセッション ID が追加されていることがわかります。多くのシナリオでは、これも受け入れられない可能性があります。
リクエストごとにデータベースにアクセスして「LoggedIn」フラグをチェックすることにした場合でも、着信リクエストが特定のユーザーに属していることを識別する何らかの方法が必要です。これは、セキュリティ シナリオに応じて、隠しフィールドの暗号化された値の形式である可能性があります。とはいえ、クライアントからのデータは改ざんされている可能性があるため、Cookie の使用よりもはるかに優れた方法ではありません。
個人的には、適切に暗号化する限り、Cookie はユーザー リクエストを追跡するのに優れていると思います。
ユーザーを区別する何らかの方法が必要です。Cookie を使用しない場合は、その情報を URL で転送するか、1 つの IP アドレスから 1 人のユーザーのみを許可する必要があります (これは本当にばかげています) ... または他の何か。クッキーはそれほど悪くありません:-)。
ログイン システムを実際に実装するのに助けが必要な場合は、特定の問題に関する詳細を含める必要があります。
ユーザー名などをデータベースに保存できますが、ユーザーがページからページに移動するときにユーザーを認識する方法が必要です。これが、このログイン トークンを保持するための Cookie の役割です...
このトークンを処理する他の方法を実装することは可能です。このトークンを格納するには、URL またはいくつかの非表示フィールド (ASP.NET の ViewState として) を使用できます。
あ、はい; それはできます。ただし、ASP.NET が既に提供しているものは使用できないため、多少の作業が必要です。(ASP.NET には、このトークンを Cookie として処理し、資格情報をデータベースに格納する組み込み機能があります。)
SqlMembershipProviderを使用します。