много статей в Интернете на основе ролей доступа говорить о применении что-то вроде этого, чтобы обеспечить доступ на основе ролей к контроллеру или действияasp.net MVC на основе ролей доступа к контроллеру
[Authorize(Roles = "Admin, Manager")]
public class SomeController : Controller
{
}
Все это хорошо, но теперь, если мне нужно реализовать собственный пользовательский доступ на основе роли, в котором у меня есть роли в таблице [RoleMaster] и роли, назначенные пользователю из таблицы [User] в другой таблице с именем [UserRoles]. В моем коде я есть объект пользователя в сессии, которая теперь будет иметь список ролей в нем
public class RegisteredUsers
{
//... other user properties
public List<UserRole> Roles { get; set; }
}
public class UserRole
{
public string RoleID { get; set; }
public string RoleName { get; set; }
//... other properties
}
Теперь, как я могу проверить для свойства UserRole.RoleName в списке ролей в RegisteredUsers объекта в соответствие с любой из значений, которые я присвоил атрибуту Authorize, используя: [Авторизовать (Roles = «Admin, Manager»)]. В некоторых случаях, если роли имеют либо Администратор, либо Менеджер, они должны получить доступ. В некоторых случаях я хочу, чтобы у них был как администратор, так и роль менеджера, чтобы получить доступ.
Кроме того, в будущем, если новые роли будут добавлены в систему, мне нужно будет перестроить и повторно развернуть мое приложение со всеми атрибутами авторизации, переделанными?
Я не смог найти ни одного ясного примера, реализующего то же самое, или, может быть, я неправильно искал. Пожалуйста, помогите мне в любом случае. Спасибо за ваше время ...