У меня есть атрибут полномочий, который принимает список значений перечисления для ролей:
[CheckRoles(SystemRole.ID.Admin, SystemRole.ID.User)]
public class MyController : Controller
{
....
}
Однако в других частях кода я хотел бы проверить, входит ли пользователь в какую-либо из этих ролей,так что я могу перейти на правильную страницу.Код выглядит примерно так:
if (roles.IsInAnyRoles(user, SystemRole.ID.Admin, SystemRole.ID.User)
{
... Do something in MyController ...
}
Вы можете увидеть повторение здесь.Я действительно хочу иметь две роли в списке переменных или инициализатора или что-то такое, что я могу передать как атрибуту, так и методу.Создание массива const не работает.Есть ли способ сделать это?Могу ли я как-нибудь сохранить инициализатор массива?
Любая помощь будет принята с благодарностью!
ОБНОВЛЕНИЕ
Я сделал перечисление ролей в перечислении Flags (и дал соответствующие пунктыценности).Это означает, что я могу или значения вместе, чтобы дать одно, постоянное значение.Теперь я могу использовать это постоянное значение в Атрибуте и в методах.Спасибо Дэнни Чену ниже.