ADN Open CIS
Сообщество программистов Autodesk в СНГ

19/08/2015

Объект Security в PLM 360

В последних двух постах, мы видели, как получить доступ к полю элемента и информации владельца. Мы не поговорили об объекте Элемент .Есть еще много вещей, которые мы хотели бы покрыть. Но перед этим я собираюсь обернуть другой объект, который был упомянут, когда мы представляли свойство   Master в элементе.Это объект theSecurity. Объект Безопасность содержит несколько вспомогательных функций, касающихся пользователей, групп и ролей.И мы видели примеры, используя свои функции   loadUser() и loadGroup().Мы собираемся увидеть что еще имеет объект Security.

Security.inGroup()

Security.inGroup(userId, groupName) возвращает объект логического типа, чтобы указать, что группа указанная при помощи groupName (String) содержит пользователя, который содержит пользователя, указанного при помощи userId (String,). Например,

Код - JavaScript: [Выделить]
  1. if (Security.inGroup(userID, ‘Admin Group’)) {
  2.     // Текущий пользователь в группе администраторов   
  3. } else {
  4.     // Текущий пользователь НЕ в Группе администраторов
  5. }

Примечания: userId пользователя   является одной из предварительно загруженных переменных для каждого сценария, указывающий пользователя, действие которого вызывает сценарий.Обычно это ID текущего логина пользователя.

Security.inRole()

Security.inRole(userId, roleName) проверяет, является ли пользователь, указанный в userId в роли указанного roleName (String), возвращая логический   объект.  RoleName является отображаемым именем для каждой роли на странице ролей [Administration –> Security –> Roles].

Security.loadUser()

Security.loadUser(userId) возвращает пользователя   указанного при помощи userId.Если пользователь не может быть найден при помощи   идентификатора пользователя, то будет возвращен пустой Пользователь   .Например,

Код - JavaScript: [Выделить]
  1. var user = Security.loadUser(‘Abc’);
  2. if (user.id === null) {
  3.   println ("Пользователь не может быть найден.");
  4. }

Security.loadGroup()

Security.loadGroup(groupName) возвращает группу, указанную в groupName.Подобно   loadUser, если ни одна группа не может быть найдена с groupName, будет возвращен пустой объект Groupobject.

Security.listGroups()

Security.listGroups(userId) возвращает массив имен группы (String), которым пользователь принадлежит.

Security.listRoles()

Security.listRoles(userId) возвращает массив имен ролей (String), которые имеет пользователь.Роли не имеют прямого отношения к пользователям. Группа является соединителем с ними. Таким образом, чтобы получить все роли для пользователя, сначала сервер найдет все группы, которым принадлежит пользователь. Далее будут собраны все роли в каждой из этих групп. Затем, после удаления всех дубликатов (одна роль может быть добавлена в несколько групп), коллекция будет возвращена вам.

Security.listUsersInGroup()

Security.listUsersInGroup(groupName) возвращает массив пользователей User objects), которые в группе.

Security.listUsersInRole()

Security.listUsersInRole(roleName) возвращает массив пользователей (User objects), которые в этой роли.

Security.searchUsers()

Security.searchUsers(criteria) возвращает массив пользователей (User objects)   , соответствующие критериям.Например, функция, указанная ниже, вернет всех пользователей с профессиональными лицензий и находящихся в Торонто.

Код - JavaScript: [Выделить]
  1. function getAllProfessionalUsersInToronto() {
  2.     var criteria = {
  3.         city : 'Toronto',
  4.         licenseCode: 'S'
  5.     };
  6.     return Security.searchUsers(criteria);
  7. }

Источник: http://justonesandzeros.typepad.com/blog/2015/07/security-object.html

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=2998

Опубликовано 19.08.2015
Отредактировано 08.09.2015 в 10:56:19