認証を必要とするリソースへのリダイレクトが機能しないレガシー アプリケーションに対処する必要があります。通常の意味:
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);
}
ここで url は次のようなものです。
/membersonly/Login?redirectUrl=http://localhos:1234/targetThatNeedsAuthentication/
これは正しく生成されます。実装は、から継承する NewResult を使用し、次のRedirectResult
ようなコンストラクターを持ちます。
public NewResult(string url, bool preserveForm) : base(url)
ベースコンストラクターが期待どおりに機能しない理由はありますか?