質問

ログインシステムをCookieで処理するのではなく、ローカル(サーバー上の)SQL DBのテーブルでWebサイトを作成したい

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

Cookieの代わりに何をどこに保存すればよいですか

役に立ちましたか?

解決

ASP.NETは、デフォルトでセッションCookieを使用してユーザーリクエストを追跡します。 Cookielessセッションを使用する場合、ブラウザからのすべてのリクエストにセッションIDが追加されます。多くのシナリオでは、これも受け入れられない可能性があります。

データベースにアクセスして" LoggedIn"を確認する場合でも、リクエストごとにフラグを立てますが、着信リクエストを特定のユーザーに属するものとして識別する何らかの方法が必要です。これは、セキュリティシナリオに応じて、非表示フィールドの暗号化された値の形式になります。ただし、クライアントから送信されたデータはすべて改ざんされている可能性があるため、Cookieを使用するよりも優れた方法ではありません。

個人的には、Cookieは適切に暗号化する限り、ユーザーリクエストを追跡するのに最適だと思います。

他のヒント

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

Cookieless ASP.NET

ログインシステムの実際の実装についてサポートが必要な場合は、特定の問題に関する詳細を含める必要があります。

ユーザー名などをデータベースに保存できますが、ページ間を移動するときにユーザーを認識する方法が必要です。これは、このログイントークンを保持するためのCookieロールです...

このトークンを処理する他の方法を実装することは可能です。このトークンを保存するには、URLまたは非表示フィールドをASP.NETのViewStateとして使用できます。

それで、はい;それを行うことができます。ただし、ASP.NETが既に提供しているものを使用できないため、ある程度の作業が必要です。 (ASP.NETには、このトークンをCookieとして処理し、資格情報をデータベースに保存する組み込み機能があります。)

SqlMembershipProvider を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top