У меня есть собственный атрибут AuthorizationAttribute, который, кажется, работает на поверхности.Когда пользователь без правильных разрешений запрашивает действие через браузер, ему показывается соответствующее сообщение.
Я начал применять этот атрибут к HttpPost
действиям, которые выполняют такие действия, как удаление.Даже если ответ правильный, тело действия по-прежнему выполняется (в этом случае элемент удаляется).
Я хочу иметь возможность полностью запретить методу действия что-либо делать при авторизацииатрибут не выполняется.Это то, для чего используются AuthorizationAttributes или я должен посмотреть по-другому?
Обновление:
public override void OnAuthorization(AuthorizationContext filterContext)
{
Check.Require(filterContext != null);
if (service.HasPermission(requiredPermission))
return;
filterContext.HttpContext.Response.StatusCode = 404;
filterContext.HttpContext.Response.StatusDescription = "File not found";
}
Действие контроллера оформлено так:
[HttpPost, RequiresPermission(Permissions.CanDeleteContentItem)]
public JsonResult Delete(Guid id)