В нашем проекте asp.net MVC 4, мы используем AuthorizeAttribute
для осуществления контроля доступа, наш код, как этогоasp.net MVC запрос 4 конца в AuthorizeAttribute
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (IsValid())
{
//do something
}
else
{
httpContext.Response.Redirect("~/Common/NoAuthorize", true);
}
}
protected bool IsValid()
{
//custom authentication logic
return true;
}
}
MVC Controller
помеченного MyAuthorizeAttribute
.The проблемы является когда пользователь недействителен, он должен немедленно перенаправить на страницу NoAuthorize. Но я выяснил, что он все равно будет запускать код в MVC Controller
. После этого работает Redirect
.
Я пытаюсь добавить httpContext.Response.End()
и HttpContext.Current.Response.End()
. Ни один из них не работает. Так как я могу сделать перенаправление сразу без запуска кода в Controller
?
Спасибо Ваш ответ простой way.I найти что-то проще просто now.If '' AuthorizeCore' возвращения false', код в определенном действии 'Controller' также не будет запущен. – Xingxing