登录失败的IIS登录(Windows身份验证)
问题描述:
在我们的应用程序中,我们提供使用Windows身份验证。为此,浏览器弹出一个窗口。当用户正确登录,我可以在此之后在代码中记录此:登录失败的IIS登录(Windows身份验证)
if (HttpContext.Current.User.Identity.IsAuthenticated) c.Response.Redirect(General.PathPrefix() + "Default.aspx");
我的问题是,我怎么能登录用户没有得到认证,所有的代码似乎停止时,登录失败,和我收到了401回应。
答
您可以在Global.asax
文件中使用下面
public class CoolMvcApplication : System.Web.HttpApplication
{
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
//check here if this exception is an unauthorized access error, if so
Server.ClearError();
Response.Redirect("/not_loggedin");
}
}
代码还可以使用过滤器实现这一目标,并断言那里,如果错误是未经授权的访问,并按照同样的逻辑记录此错误。
调试时,代码似乎永远不会进入此功能。 –