ドメイン名が適用されると、ASP.NETアプリケーションは常にログインページにリダイレクトされます。

I have an ASP.NET web forms application that requires that requires that a user log in. I have had the application running on a live server with an IP address pointing at it, to allow external customers to test it. e.g. http://1.2.3.4/application

Last week the customers decided that they were happy to switch their users to my application, and asked us to switch the existing URL across to it e.g. http://www.applicationurl.com

これを行うとすぐに、ログインページが機能しなくなりました: - 間違ったユーザー名またはパスワードでログインすると、間違いがあったことが正しく伝えられます - 正しいユーザー名とパスワードでログインすると、エラーメッセージは表示されませんが、次のページにリダイレクトする代わりに、ユーザーはログインページにリダイレクトされます

明らかに、アプリケーションに変更は加えられておらず、同じ設定で同じサーバー上で実行されています。内部IPアドレスまたは外部IPアドレスのいずれかを使用してログオンすると、アプリケーションは正常に動作します。一度ログオンすると、デフォルトのページにリダイレクトされます。それは私がログインページに戻ってリダイレクトされ続ける外部URLを使用するときだけです。 .cssと画像はすべてログインページ用に正しく読み込まれます。

これは、Windows Server 2003上のIIS7上で実行されている.NET 3.5です。

0
web.configの 要素も含めると良いでしょう。
追加された 著者 Zhaph - Ben Duguid,
方法はわかりませんが、今は正しく動作しているようです。 David - 当初はデフォルトのWebサイトの下にアプリケーションとして設定されていたので、そのWebサイトのURLを指していました。私はその後、まったく同じ症状を出した別のWebサイトを作成しましたが、私はそれをIT標準に沿ったものにしました。この質問を見てくださった皆様に感謝します。
追加された 著者 Jon Lawson,
これは、アプリケーションが/アプリケーションにあって、現在はルートにあるように見えます。リダイレクトコードに/アプリケーションを含むハードコードされた参照はありますか?
追加された 著者 David Brainer,

2 答え

私たちのITチームと相談して、私はDNS名を私たちに提供する会社が私たちのWebサーバーへの呼び出しを代理していることを知りました。ドメイン名を直接IPアドレスに変更すると、問題は解決されました。私はプロキシがHTTP呼び出しを修正したり、クッキーなどをブロックしていたはずだと思います。

これが起こっているかどうかを確認する方法はドメインをpingすることです。私たちの場合、WebサーバーのIPアドレスではなく、DNSサプライヤのIPアドレスとドメイン名が返されていました。

0
追加された

web.configファイルのフォーム要素の認証を確認できますか:

  1. attiributeのパスを確認します。それですか? "/"。
  2. ドメインを確認します(設定されている場合)。
0
追加された