2012-03-07 3 views
0

フォーム認証で保護されているWinServer2k8マシンにASP.NET Webサイトがあります。現時点で、1人のマシンAにログインすると、マシンBのすべてのログイン試行は失敗します(A & Bは同じインターネット接続を使用してサーバーにアクセスしています)。ログイン要求はエラーを返さず、まったく認証が行われなかったかのようにログイン画面にリダイレクトされます。私は、IIS7またはweb.configファイルのいずれかを使用してこのサイトを構成する方法を知りたいので、任意の数の同時ユーザーセッションを許可できます。 Webサイトのすべての設定は、IIS7のデフォルトに設定されています。セッション状態モード、最大セッションプロパティ、およびIIS7のフォーム認証設定を変更しようとしました。複数のユーザーが同時にアクセスできるようにIISを構成する

何か助けていただければ幸いです。

P.S. - インターネット接続に別のIPアドレスを使用しているマシンもテストしましたが、それでも同時セッションは開始できません。

P.P.S - サーバーマシン自体のWebブラウザーからセッションを開始しようとすると、ログインしている人に関係なく、毎回動作します。

EDIT - 私は認証のためにWindowsセッションの資格情報を使用している - Webページで使用されるメソッドのバックエンドを使用すると、フォーム認証の詳細についての詳細を学ぶ場合は、あなたが知っているのAdvapi32.dll

+0

これを行うカスタム認証コードはありますか? – Jacob

+0

ああ、私は認証にWindowsセッションの資格情報を使用していることを忘れていました.Webpageのバックエンドで使用される方法は、advapi32.dllからインポートされたLogonUserです。 – Maximilian

答えて

0

私は私の問題の原因を発見し、それは結局のところ、私はフォーム認証を使用していた道には何の問題もありませんでした。

エラーは、認証リクエストのタイムアウト値がWebサイトをホストしているサーバーを除いて低すぎるため、タイムアウト値であることが判明しました。私は、web.configファイルのFormsタグのタイムアウト値を5から5000に変更しました。

したがって、サーバーの誤った取り扱いセッションの問題は、実際には他のマシンが時間内に認証要求を完了できないという問題でした。とにかく助けてくれてありがとう。

0

から輸入されたのLogonUser、ありますIIS/ASP.NETはユーザーが認証されたかどうかを識別するためにCookieを使用します。負荷分散のシナリオでは、ASP.NETセッションを有効にし、プロセス外セッションモード(SQL Serverモードを推奨)を使用する必要があります。

のみ、そのように、ユーザーのセッションは、マシン間で有効であり、そしてあなたがに注意を払う必要があり、最後のビットは、マシンキーであるそのうちの一つ、

に認証された後、彼/彼女は、すべてのボックスにアクセスすることができます。すべてのボックスで、セッション情報を暗号化するために同じマシンキーを使用する必要があります。それ以外の場合、ユーザーがあるボックスで認証されると、別のボックスは情報を復号化できません。

http://msdn.microsoft.com/en-us/library/ff649308.aspx

+0

SQL Serverモードを使用する場合は、認証バックエンドをやり直さなければならないのですか、それともWindowsのセッション資格情報を使用して認証できるのでしょうか? (元の投稿の編集を参照してください) – Maximilian

+0

カスタマイズされた認証プロバイダを使用しているので、それが動作するかどうかはわかりません。しかし、通常、セッションモードは認証とは独立しています。 –

関連する問題