04/12/2013
Vault API: Пользователи и роли, часть 2
Вопрос
Как получить список ролей из сервера хранилища?
Решение
Для этих целей нам необходимо использовать класс Autodesk.Connectivity.WebServices.AdminService.
В предыдущей статье было описано как получить список пользователей сервера Vault. Давайте продолжим работу с тем же примером и добавим метод ListRoles() к нашему классу AdminSample:
Код - C#: [Выделить]
- // Перечислить все роли в базе данных
- //===============================================================
- public static void ListRoles()
- {
- using (MyVaultServiceManager mgr = new MyVaultServiceManager(
- MyVaultServiceManager.Mode.ReadOnly))
- {
- try
- {
- // GetAllRoles() - это позволит получить все роли
- //------------------------------------------------------
- Role[] roles = mgr.Services.AdminService.GetAllRoles();
- // Подготавливаем строку для отображения ролей во всплывающем окне
- string msg = "Id | Имя\n";
- msg += "-------------\n";
- foreach (Role role in roles)
- msg += role.Id.ToString() + ": " + role.Name + "\n";
- MessageBox.Show(msg, "Роли найдены");
- // Так мы находим некоторую произвольную роль
- Role admin = FindRole(roles, "Администратор");
- if (admin != null)
- MessageBox.Show("Id роли Администратора "
- + admin.Id.ToString());
- }
- catch (System.Exception err)
- {
- MessageBox.Show(err.ToString());
- } // try
- } // using
- } // ListRoles()
Также в этой части кода мы ищем роль с названием «Администратор», для этой цели мы создали очень простую функцию, которая проходит через массив ролей:
Код - C#: [Выделить]
- // Найти роль по её имени.
- // Параметры: - Массив ролей;
- // - Имя искомой роли.
- // Возвращает найденную роль, либо возвращает null, если роль не найдена.
- //===============================================================
- private static Role FindRole(Role[] i_roles, string i_roleName)
- {
- Role found = null;
- foreach(Role role in i_roles)
- if (role.Name == i_roleName)
- {
- found = role;
- break;
- }
- return found;
- }
На выходе этой программы получаем список ролей, которые существуют в хранилище по умолчанию:
Источник: http://adndevblog.typepad.com/manufacturing/2012/07/vault-api-users-and-roles-part-2.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=376
Опубликовано 04.12.2013Отредактировано 10.12.2013 в 14:30:45