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