Настройка пользовательского хранилища идентичностей с помощью ASP.NET
ArcGIS for Server можно защитить, регламентируя доступ с помощью пользователей и ролей из пользовательского хранилища удостоверений. Для этого в ArcGIS Server обеспечивается поддержка членства в ASP.NET и провайдеры ролей.
Чтобы настроить пользовательское хранилище идентичностей с помощью ASP.NET, выполните следующие шаги:
После настройки пользовательского провайдера ASP.NET вы можете просмотреть его содержимое в Менеджере (Manager) и использовать роли из пользовательского хранилища для настройки прав доступа в веб-сервисах.
Внедрите пользовательский провайдер членства ASP.NET
Для внедрения пользовательского хранилища ASP.NET вам необходимо применить требования для провайдера ASP.NET. Провайдер должен быть создан и настроен за пределами ArcGIS Server Manager. Кроме того, вы должны настроить хранилища пользователя и роли перед использованием провайдера при помощи Менеджера (Manager).
Инструкции по осуществлению членства в ASP.NET и ролевых провайдерах см. в документации ASP.NET.
Необходимо придерживаться следующих методов в провайдере членства ASP.NET для ArcGIS Server:
- FindUsersByName (найти пользователей по имени)
- GetAllUsers
- GetUser
- ValidateUser (проверить пользователя)
- AssertUserExists
Необходимо придерживаться следующих методов в провайдере роли ASP.NET для ArcGIS Server:
- FindUsersInRole (найти пользователей в роли)
- GetAllRoles
- GetRolesForUser (получить роли для пользователя)
- GetUsersInRole
- IsUserInRole
- RoleExists
Пример внедрения пользовательского провайдера ASP.NET доступен в <директория установки ArcGIS Server>\help\samples\asp.net\in_memory_provider\.
Разверните пользовательский провайдер на ArcGIS Server
- Встройте ваш пользовательский провайдер в файл .dll и скопируйте его на компьютер, содержащий ArcGIS Server.
- Установите .dll пользовательского провайдера в GAC.
Пример: gacutil /i MyCustomProvider.dll
Настройте ArcGIS Server на работу с пользовательским провайдером
- Откройте ArcGIS for Server Administrator Directory и войдите в систему.
- Щелкните security > config > updateIdentityStore.
- Введите конфигурацию Хранилище учетных записей (User Store) в формате JSON. Он выглядит следующим образом:
{ "type": "ASP_NET", "class": "{Membership provider's type attribute value}", "providerName": "{Name of the membership provider}", "properties": { "Property One": "value", .... "Property X": "value" } }
- Введите конфигурацию Хранилище ролей (Role Store) в формате JSON. Он выглядит следующим образом:
{ "type": "ASP_NET", "class": "{Role provider's type attribute value}", "providerName": "{Name of the role provider}", "properties": { "Property One": "value", .... "Property X": "value" } }
- Щелкните обновить (update), чтобы сохранить конфигурацию.