我正在写一个应用程序,使用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