https 経由でのみアクセスできるサイトがあります。数週間前に特定のセクションにキャッシュを追加し始めたので、ログオン アクションは次のようになりました。
[RequireHttps]
public class AccountController : Controller
{
[OutputCache(CacheProfile = "Long")]
public ActionResult LogOn()
{
return View();
}
...
}
そして私のweb.config認証には以下が含まれます:
<forms loginUrl="~/Account/LogOn" timeout="2880" requireSSL="true" protection="All" />
サイトにアクセスすると、https ログオン ページが表示されhttp//sitename.com
ます。最近、ELMAH が一連のログを記録していることに気付きました。要求されたリソースは、SSL 経由でのみアクセスできます。ログオンページについてですが、その理由がわかりませんでした。
結局のところ、特定の状況下で、承認が必要なページに移動しようとすると、http//sitename.com/Account/LogOn?ReturnUrl=%2f
https 以外に転送されますが、URL からページを削除して?ReturnUrl=%2f
Enter キーを押すと、安全なページに移動します。https//sitename.com/Account/LogOn
.
簡単に言えば、[OutputCache(CacheProfile = "Long")]
修正を削除すると問題が解決します。だから私の質問は、そのページをキャッシュすると、SSLなしでページにアクセスできるようになるのはなぜですか?