Я надеюсь, что код достаточно понятен. Есть некоторые варианты, поэтому дайте мне знать, если это не совсем то, что вы хотели.
аюсь реализовать AuthorizationHandler в .net core 2.0, где мне нужно авторизовать пользователя, и в зависимости от условия, которое я хотел перенаправить на разные методы действия, в рамках проверки моего приложения работает нормально, но как я могу перенаправить пользователя на страницу «Отказано в доступе» или «Вход в систему», когда Авторизация не удалась.
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, HasPermissionRequirement requirement)
{
var controllerContext = context.Resource as AuthorizationFilterContext;
if (sessionManager.Session.sysUserID <= 0)
{
controllerContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Account", action = "Login", area = "" }));
return Task.FromResult(0);
}
if (Utilities.GetInt32Negative(PermissionID) == 1 || Utilities.GetInt32Negative(PermissionID) == -1)
{
if (!PagePath.Equals("~/"))
controllerContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Home", action = "NoAccess", area = "" }));
}
context.Succeed(requirement);
}
else
{
if (!PagePath.Equals("~/"))
controllerContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Home", action = "NoAccess", area = "" }));
}
return Task.FromResult(0);
}