我把认证属性设置为:
filterContext.Result = new HttpUnauthorizedResult();
所以当我尝试访问
时http://www.mysite.com/Forum/Polls
我未经过身份验证我被重定向到:
http://www.mysite.com/Account/Log?ReturnUrl=%2FForum%2FPolls
我希望改为以下一行:
http://www.mysite.com/Account/Log?back=%2FForum%2FPolls
,所以代替'ReturnUrl'需要'回'。我可以在哪里摆脱这种行为。感谢。
答案 0 :(得分:2)
您可以在EndRequest事件上重写“ReturnURL”。
这是示例代码。
protected void Application_EndRequest()
{
if (Response.StatusCode != 301 && Response.StatusCode != 302) return;
var targetUrl = Response.RedirectLocation.Replace("ReturnUrl","back");
Response.RedirectLocation = targetUrl;
}
希望这段代码。
答案 1 :(得分:0)
看起来不像你。那来自System.Web.Security.FormsAuthentication.GetLoginPage()
如果你查看代码,你会发现它确实是一个硬编码的文字。至少在System.Web版本2.0.0.0