Я хочу реализовать контроль доступа для пользовательских контроллеров в зависимости от ролей пользователя, я хочу сделать это для базового класса управления таким образом, чтобы на каждом пользовательском контроле мне нужно было только установить строку с разрешенными ролями для просмотра пользовательский элемент управления
Вот как может выглядеть класс управления пользователем:
public partial class SimpleMenu : MyUsrControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
AlloweRoles = "RoleA, RoleB"
//specific user control functionality
}
}
Базовый класс:
public abstract class MyUsrControlBase : UserControl
{
private string _allowedRoles;
protected internal string AllowedRoles
{
set
{
_allowedRoles = value;
ValidateRoles();
}
}
private ValidateRoles()
{
//Role validation logic
if (RoleHasAccess)
{
// Set user control visibility to true
}
else
{
// Set user control visibility to false
}
}
}
Как настроить видимость пользовательского элемента управления из базового класса в зависимости от результата проверки?
Кроме того, какое событие в пользовательском элементе управления является лучшим для установки ролей?
AlloweRoles = "RoleA, RoleB"