我花了几个小时对此无济于事,希望有些人能够对此有所了解。 (谢谢!)
我的拦截器:
appRoot.factory('myInterceptor', ["$window", "$q",'$location', function ($window, $q,$location) {
var sessionRecoverer = {
responseError: function(response) {
// Session has expired
if (response.status == 401) {
$location.path('/#/login');
}
return $q.reject(response);
}
};
return sessionRecoverer;
}]);
申请结束请求:
private void Application_EndRequest(object sender, EventArgs e)
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
if (routeValues != null)
{
if (routeValues.ContainsKey("action"))
{
var actionName = routeValues["action"].ToString();
if (actionName.ToLower() != "login")
{
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
}
}
}
}
}
答案 0 :(得分:0)
谢谢,我正在使用Angular js(1)。这个问题似乎与我的web.config上的一些奇怪的设置有关,身份验证表单超时转发到默认的url有点事。无法捕捉奇怪的设置,所以我可以在这里发布,但有点解决了这个问题。