Для того, чтобы выяснить, является ли пользователь администратором, следует проверить, включен ли он в группу "Системные администраторы". Сделать это в коде можно следующей конструкцией:

Select select = (new Select(UserConnection)
        .Column(Func.Count(Column.Asterisk()))
        .From("SysUserInRole")
        .Where("SysUserId")
        .IsEqual(Column.Parameter(UserConnection.CurrentUser.Id))
        .And("SysRoleId").IsEqual(Column.Parameter(new Guid("83A43EBC-F36B-1410-298D-001E8C82BCAD")))
)as Select;
using(var dbExecutor = UserConnection.EnsureDBConnection()){
        var CurrentUserIsAdmin = select.ExecuteScalarint>(dbExecutor);
}

Переменная CurrentUserIsAdmin принимает значение 1 либо 0 в зависимости от того, является ли текущий пользователь администратором.

Нравится

Поделиться

0 комментариев
Показать все комментарии