Я пишу действие контроллера, к которому может обратиться одна из двух групп пользователей; каждая группа имеет свою собственную реализацию AuthorizationFilterAttribute
, содержащую пользовательскую логику, определяющую, как группа будет авторизована. Я хочу иметь возможность использовать условное ИЛИ, чтобы определить, что был выполнен хотя бы один из фильтров авторизации атрибутов.Условное ИЛИ с AuthorizationFilterAttributes в ASP.NET Web API 2
Я надеялся, что я мог бы сделать что-то вроде этого:
public class ConfigController : ApiController
{
[AdminAuthorize || DealRoomAuthorizeAttribute]
public IHttpActionResult GetBlah()
{
return Ok();
}
}
но не повезло! Любые идеи о том, как это может быть достигнуто?
Обычно определить единый класс для всех членов и использовать параметры конструктора, чтобы различить, кто имеет доступ. Это позволяет вам определить набор параметров конструктора, который допускает логику OR. [Вот пример] (http://stackoverflow.com/questions/700166/allow-multiple-roles-to-access-controller-action) – Guvante