C# 如何在ASP.NET MVC中根据条件打开/关闭基于身份的身份验证
我在我的ASP.NET MVC应用程序中使用了基于身份的身份验证,我想打开/关闭基于条件的身份验证,我尝试使用自定义身份验证过滤器,但它进入了无限循环 以下是自定义筛选器的代码:C# 如何在ASP.NET MVC中根据条件打开/关闭基于身份的身份验证,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我在我的ASP.NET MVC应用程序中使用了基于身份的身份验证,我想打开/关闭基于条件的身份验证,我尝试使用自定义身份验证过滤器,但它进入了无限循环 以下是自定义筛选器的代码: public class CustomAuthenticationFilter : ActionFilterAttribute, IAuthenticationFilter { public void OnAuthentication(AuthenticationContext filterContext)
public class CustomAuthenticationFilter : ActionFilterAttribute, IAuthenticationFilter
{
public void OnAuthentication(AuthenticationContext filterContext)
{
if (string.IsNullOrEmpty(Convert.ToString(filterContext.HttpContext.Session["UserName"])))
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
if (filterContext.Result == null || filterContext.Result is HttpUnauthorizedResult)
{
// Redirecting the user to the Login View of Account Controller
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
{
{ "controller", "Account" },
{ "action", "Login" }
});
}
}
}
我犯了个错误
错误\u太多\u重定向
听起来你的登录页面需要身份验证,所以它会将你重定向到登录页面。。。(重复重定向)。@ErikPhilips No I没有为登录控制器添加身份验证属性