1

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=%2fhttps 以外に転送されますが、URL からページを削除して?ReturnUrl=%2fEnter キーを押すと、安全なページに移動します。https//sitename.com/Account/LogOn.

簡単に言えば、[OutputCache(CacheProfile = "Long")]修正を削除すると問題が解決します。だから私の質問は、そのページをキャッシュすると、SSLなしでページにアクセスできるようになるのはなぜですか?

4

0 に答える 0