ログイン情報を記憶させる"とログイン用サイトの問題別のブラウザ/コンピュータ

StackOverflow https://stackoverflow.com/questions/4203029

質問

ようにしていを実施するログイン情報を記憶させる"とログイン機能のためASP.NET MVCサイトのいビルです。私はこのアプローチ http://jaspan.com/improved_persistent_login_cookie_best_practice ('ミラーのデザインの近くのトップ)で作業する。

このワークフローの:

  1. ユーザーのログとの発行は安全な暗号化ランダムな文字列+そのデータベースIDとして永続的なクッキーの情報30日)。安心の文字列は、データベースに格納され、次にそのユーザーアカウントします。
  2. ユーザーの後にサイトブラウザのクッキーのログイン、IDットワークのセキュアなグループは、データベースの場合は、ユーザーは自動的に認証される。
  3. 一度認証された新ットワークのセキュアなグループが発生し、データベースに格納され、新しいクッキーを発行します。

していますが、しかし、この値は管理画面より変更可能で非常の場合、ユーザーでログインから複数のブラウザやコンピュータ明らかに異なるブラウザ終了までと異ットワークのセキュアなグループとして格納されたクッキーとは、ワークフローにつなが

  1. ユーザーでログインからブラウザでは、発ットワークのセキュアなグループとしては、クッキーのキーが保存データベースです。
  2. ユーザーでログインからブラウザBは、発行異ットワークのセキュアなグループとしてのクッキー.キーも保存データベースのもので上書きのキーから生成されるブラウザA.
  3. ユーザー訪問サイトブラウザから、再度ブラウザゼクッキーを発行からステップ1です。でない試合なのでセキュアキーに置き換えられたステップ2に進みます。でユーザがログインです。別の新しいキーが生成され、上書きのキー発行のブラウザB.
  4. ユーザーの訪問ブラウザからBに再度キーが一致しないと、再度ログイン等など。

う解決す。いただいた保存-管理するために複数のキーのデータベース?私もこの権利そうです。っStackOverflowのように管理することを覚えてからブラウザ別することができます。

役に立ちましたか?

解決

ミラーのデザインはランダムな文字列とユーザーテーブルとは異なるテーブル内のペアとしてユーザ名を格納することであるように、

は、リンク先の記事を読んでから、それは私には思えます。まだ合理的にセッションハイジャックから十分に保護されながらインデックスとしてランダムな文字列を使用することにより、あなたは、同じユーザー名から複数の同時ログインを持つことができます。

あなたの説明は、あなたが一度に1回のログインを可能にするユーザー・テーブル、内部のランダムな文字列を格納することを示します。

他のヒント

あなたはクッキーで3番目の項目、トークン「シリーズ」を必要とします。これは、ログインイベントを表します。お使いのシステムに毎回ログインすると、それは再び新しい彼らがログアウトするまで変更されませんシリーズ、またはログインを作成します。あなたはまだ、すべてのリクエストに応じて更新され、あなたのトークン、すなわちセキュアキーを持っています。

ここでは、この実装を支援するためにいくつかのリンクがあります:

データベースの問題を許可する際に、複数のブラウザ持続的なログイン

フォームベースのWebサイトの認証に

決定的なガイド

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