使用 [Authorize] 时如何更改重定向

How To Change redirect when using [Authorize]

我了解更改 url [授权] 会将您带到。您必须在 web.config

中编辑此行
<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>

如果我有两个登录页面并且我想将人们从一个控制器重定向到 url /f/signin 并将人们从另一个控制器重定向到 /s/signin 怎么办?

您可以将 loginUrl 指向可适当重定向用户的操作。

看起来像这样:

public class MySpecialLoginController:Controller
{
    public ActionResult Index(string returnUrl)
    {
        if(returnUrl.EndsWith("/foo")) //dirty. you could do better...
        {
            return RedirectToAction("signin","f");
        }
        //etc
    }
}

并且,假设默认路由,loginUrl 将具有值 "~/MySpecialLogin"