0

ASP.Net MVC4 で記述され、IIS7.5 に展開された Web サイトがあります。ユーザーは、Web の残りの部分を閲覧する前にサインインする必要があります。たとえば、ソースは次のようになります。

ルート:

localhost/project/account/logon
localhost/project/apple
localhost/project/banana

ログオン方法:

[RequireHttps]
public ActionResult Logon(string returnUrl)
{
    ...
    return View();
}


[HttpPost]
public ActionResult Logon(string user, string pwd, bool remember)
{
    ...
    string url = "/apple";
    return Redirect(url);
}

問題は、ユーザーがログオンした後、ユーザーを他のリンクの使用にリダイレクトし、return Redirect('/apple')HTTPShttps://localhost/project/appleを使用して新しいリンクにアクセスすることです。

リダイレクトで HTTPS を使用しないようにするにはどうすればよいですか?

4

2 に答える 2

1

以下を使用できます。

[HttpPost]
public ActionResult Logon(string user, string pwd, bool remember)
{
    var url = Url.Action("someAction", "someController", null, "http");
    return Redirect(url);
}

しかし、そうしないでください。暗号化されていないチャネルを介してセッション Cookie を送信しないでください。ユーザーが認証され、認証 Cookie を送信すると、このユーザーが Web サイトで行うすべての操作が SSL 経由で送信されます。secureまた、フラグ ( requireSSL="true"web.config 内)を使用してフォーム認証 Cookie を発行することをお勧めします。

于 2013-08-05T07:37:13.207 に答える