我正在寫一個應用程序,使用asp.net-mvc部署到iis6。我正在使用表單身份驗證。通常,當用戶嘗試訪問資源時沒有正確授權,我希望他們被重定向到登錄頁面。 FormsAuth對我來說很簡單。繞過表單身份驗證自動重定向到登錄,如何?
問題:現在我有一個操作正在被控制檯應用程序訪問。有什麼最快的方式讓這個動作響應瓦特/狀態401,而不是將請求重定向到登錄頁面?
我希望控制檯應用程序能夠響應這個401 StatusCode而不是透明。我還想保留默認值,將未經授權的請求重定向到登錄頁面行爲。
注:作爲一個測試,我已將此添加到我的Global.asax中,它沒有超越窗體身份驗證:
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
HttpContext.Current.SkipAuthorization = true;
}
@Dale和安迪
我使用的AuthorizeAttributeFilter在MVC預覽版4中提供。這返回一個HttpUnauthorizedResult。這個結果正確地將statusCode設置爲401.根據我的理解,問題在於,asp.net攔截了響應(因爲它被視爲401)並重定向到登錄頁面,而不是讓它通過。我想繞過某些網址的攔截。
查看http://stackoverflow.com/questions/2839406/forms-authentication-disable-redirect-to-the-login-page – 2013-08-09 05:24:21