Ну, у меня этот атрибут применен к классу с помощью этого [ProAuthorize(Enums.RolesEnum.SuperAdministrador, Enums.RolesEnum.Administrador) ] однако этот же атрибут также определен в методе того же класса, называемом следующим образом: [ProAuthorize(true, true)].
Дело в том, что учитывается только первое определение (на уровне класса), а не определение уровня метода.
При отладке и проверке контекста атрибута Я нашел это:

Увидите, что пользовательский атрибут дважды присутствует в метаданные. Первый показанный — тот, который определен на уровне класса, а второй — на уровне метода.
Моим решением может быть использование контекста для получения последнего атрибута, но мне интересно если есть способ, чтобы атрибут появлялся в метаданных только один раз. Таким образом, при вызове метода будет применен правильный атрибут.
Вот как я объявил атрибут:
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
публичный класс ProAuthorizeAttribute: Атрибут, IAuthorizationFilter
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/791 ... d-of-the-a
Мобильная версия