2
我必须处理一个遗留应用程序,其中重定向到需要验证的资源不起作用。意思是通常:在asp.net中的AuthorizeAttribute属性中使用的RedirectResult的问题mvc 3
Login?returnUrl=targetThatNeedsAuthentication
甚至没有生成。
情况如下。还有的实现:
AuthorizeAttribute
其中,像往常一样包含:
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
...
var url = // get url of resource that requires authentication
filterContext.Result = new NewResult(url, false);
}
下面的网址是一样的东西:
/membersonly/Login?redirectUrl=http://localhos:1234/targetThatNeedsAuthentication/
这是正确生成。实现使用NewResult,从RedirectResult
继承,有这样一个构造函数:
public NewResult(string url, bool preserveForm) : base(url)
任何想法,为什么预期基本构造可能不工作?
什么不工作?重定向? – ssilas777 2013-03-06 18:55:51
是的,RedirectResult的基础控制器,它接收url,不重定向或正确设置它... – cs0815 2013-03-06 19:18:08
你可以发布你的NewResult的代码。我很好奇你是如何改变RedirectResult的。 – 2013-03-07 18:11:49