[ELMA3] Права на просмотр/редактирование поля в пользовательском интерфейсе объекта
В статье рассмотрено как реализовать права доступа к полям системных объектов в веб форме.
Для того, чтобы сделать поле объекта доступным только для определенных групп пользователей, необходимо при выведении поля на форму осуществлять проверку принадлежности текущего пользователя нужной группе. В приведенном ниже примере файла разметки поле "Примечания" будет видно только пользователям, входящим в группу "Администраторы":
@using EleWise.ELMA.Security.Managers; @using EleWise.ELMA.Security.Services; @using EleWise.ELMA.Security.Models; <table> @{ var admins = UserGroupManager.Instance.Load("Администраторы"); var inAdmins = UserGroupManager.Instance.GetUsersByGroup(admins.Id).Any(a => a == AuthenticationService.GetCurrentUser<IUser>().Id); if(inAdmins) { @Html.EditableProperty("Primechaniya") } } </table>Если необходимо вывести поле в режиме только для чтения для каких-либо групп, вместо метода EditableProperty нужно использовать метод Property.