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, используя: [Authorize (Roles = "Admin, Manager")]. В некоторых случаях, если роли имеют администратора или менеджера, они должны получить доступ. В некоторых случаях я хочу, чтобы у них были права администратора и администратора, чтобы получить доступ.

Кроме того, в будущем, если в систему будут добавлены новые роли, мне нужно будет пересобрать и повторно развернуть мое приложение со всеми переделанными атрибутами Authorize?

Я не смог найти ни одного четкого примера, реализующего то же самое, или, возможно, я не ищу правильно. Пожалуйста, помогите мне любым возможным способом. Спасибо за ваше время...

Ответы на вопрос(2)

Ваш ответ на вопрос