2015-12-30 148 views
0

在我们的应用程序中,我们提供使用Windows身份验证。为此,浏览器弹出一个窗口。当用户正确登录,我可以在此之后在代码中记录此:登录失败的IIS登录(Windows身份验证)

if (HttpContext.Current.User.Identity.IsAuthenticated) c.Response.Redirect(General.PathPrefix() + "Default.aspx"); 

我的问题是,我怎么能登录用户没有得到认证,所有的代码似乎停止时,登录失败,和我收到了401回应。

回答

0

您可以在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"); 
    } 
} 

代码还可以使用过滤器实现这一目标,并断言那里,如果错误是未经授权的访问,并按照同样的逻辑记录此错误。

+0

调试时,代码似乎永远不会进入此功能。 –