2016-04-01 6 views
-1

は、我々はコード使用異なるセッション私たちのASP.NETプロジェクトで複数回ユーザーがログイン

<sessionState mode="SQLServer" sqlConnectionString="data source=xxx;user id=xxx;password=xxx" cookieless="UseCookies" timeout="180" regenerateExpiredSessionId="false" /> 

このコードは変わらないしなければならないを持っている場合、私たちはクッキーを使用している必要があります。ただし、ログインするたびに別のセッションが必要です。これを行うために、我々はログインするたびに新しいGUIDを生成し、それをセッションの一部として使用することを考えています。したがって、Session ["User"]ではなく、Session ["User" + GUID]のようになります。そのユーザーはセッションを1つしか持たないが、ログインごとに異なるGUIDを使用すると、セッションを区別できるはずです。私たちが実行している問題は、そのGUIDをどこに保存するのでしょうか?私はHTTPヘッダー、ViewStateを試しましたが、フルリフレッシュを行うと、それらは消去されます。誰かが、ユーザーがログインしたときに生成する一意のGUIDをどこに格納できるかを知っていますか?

実際に何をしようとしているか知りたい場合は、コメントをご覧ください。私はこれがそれを行うの恐ろしい方法だと知っているが、アプリは本当に古いです、これは大きな書き直しを行うことなく唯一の方法かもしれません。

+0

私たちがやろうとしていること:ログインするには、ユーザーにUserID、PW、およびLocationCodeが必要です。ユーザーがログインすると、セッションが作成されます。たとえば、ブラウザFirefoxを使用して場所10000にログインしたとします。今すぐChromeを開いて場所20000にログインすると、場所10000に移動します。ログインしたユーザーが既にログインしているので、ログインプロセスをやり直す代わりに、ユーザーをつかんで、その場所に送信します最初にログインしました。基本的には、ブラウザが変更されるたびに、またはアプリケーションが新しいウィンドウで開かれるたびに、一意のセッションCookieが生成されるはずです。 – JohnC1

答えて

0

私はASP.NET WebFormsアプリケーションでそのようなものを実装しました。ブラウザの複数のタブでアプリケーションを実行すると、特定のユーザーに対して異なるセッションが作成されます。私が使用しているメソッド:私はログイン検証関数でSessionIDを作成し、それはQueryStringパラメータで1つのページから別のものに移され、現在のフォームのViewStateに保存されます。

+0

完全リフレッシュを実行した場合、queryStringは失われませんか? – JohnC1

+0

「フルリフレッシュ」とはどういう意味ですか? – ConnorsFan

+0

たとえば、「Ctrl + F5」を押すとウェブサイトが更新され、クエリ文字列/ビューの状態は失われますが、正しいのでしょうか? – JohnC1

0

場所コードをApplication ["locationcode"]変数に格納します。

関連する問題