Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Способы аутентификации пользователей




Для доступа к данным LanDocs любое приложение, которое обращается к web-сервисам должно пройти процедуру аутентификации пользователя, от имени которого будут выполняться действия. Web-сервисы поддерживают несколько способов аутентификации:

§ Windows аутентификация,

§ LanDocs SQL аутентификация,

§ Single-Sign-On.

Независимо от выбранного способа, после успешной аутентификации, информация о пользователе сохраняется в ASP.NET сессии и передается клиенту в форме cookies.

При доступе к web-сервисам LanDocs приложение должно использовать технологию позволяющую сохранять и передавать cookies между вызовами методов web-сервиса. Перед вызовом методов сервиса приложение должно открыть серверную сессию одним из методов – OpenServerSession, OpenVersionedServerSession, OpenWindowsServerSession или OpenSSOSession.

Не все методы аутентификации могут быть настроены одновременно для одной инсталляции web-сервисов. Если есть необходимость использовать несколько различных способов одновременно – нужно установить web-сервисы в несколько различных директорий и выставить в каждой директории свои настройки. Приложения, использующие разные способы аутентификации, должны будут обращаться к web-сервисам по разным адресам.

Ниже описано назначение различных методов аутентификации

Windows аутентификация

Windows аутентификация выполняется средствами IIS. Web-сервисы используют только информацию о текущем аутентифицированном пользователя для проверки права доступа к LanDocs. Метод web-сервисов который это делает:

bool OpenWindowsServerSession();

Для корректной работы Windows-аутентификации анонимный доступ должен быть запрещен на IIS в настройках виртуальной директории, а windows аутентификация разрешена.

Если между Web-сервисами и клиентским приложением есть промежуточный слой в виде сервера приложения, то разработчику следует проверить, не кэширует ли используемая им платформа TCP соединения – возможны сценарии, когда при повторном вызове будет использовано существующее соединение с реквизитами предыдущего пользователя. Способы решения данной проблемы зависят от используемой платформы и должны обсуждаться с ее производителем.

SQL аутентификация

При использовании SQL аутентификации пользователь передает свой логин и пароль в методы web-сервисов, откуда они передаются на сервер приложений и далее на сервер СУБД для проверки.

При использовании SQL аутентификации к IIS может быть разрешен анонимный доступ – это совершенно не означает, что любой пользователь может получить доступ к данным LanDocs: он все равно должен будет пройти аутентификацию.

Методы web-сервисов выполняющие SQL аутентификацию:

bool OpenServerSession(String login,String password);

bool OpenVersionedServerSession(String login,String password,String version);

Параметр version

Назначение параметра version – обеспечение стабильности форматов/типов сериализованных данных при изменении версии LanDocs. Если для нужного способа аутентификации нет парного метода принимающего на вход параметр version, то можно использовать специальный метод web-сервисов, который надо вызывать сразу после авторизации:

void SetVersion(string version)

Использование этого параметра гарантирует стабильность типов передаваемых данных в соответствии с форматом указанной версии для каждого типа атрибута.

Версия устанавливается в рамках сеанса пользователя и не влияет на другие сессии.

Single-Sign-on (SSO)

Этот механизм подразумевает аутентификацию пользователя внешней доверенной подсистемой и передачу токена с результатом проверки в виде cookies. Этот механизм может применяться в следующих случаях:

§ В системе используется windows аутентификация, а клиентское приложение работает на платформе, которая не позволяет подключиться к IIS таким способом.

§ Пользователь уже аутентифицирован в другом приложении, например, на портале и нужно передать его данные в web-сервисы.

Пользователь, данные которого передаются для SSO-аутентификации, должен иметь полнофункциональную лицензию LanDocs.

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

Метод, который открывает сессию пользователя на основе SSO аутентификации:

bool OpenSSOSession();

Если в конфигурации указан пустой ключ для SSO (это настройка по умолчанию), то SSO-модуль не выполняет никакой аутентификации, даже если он указан в web.config.

После успешного выполнения метода рекомендуется выполнить вызов метода SetVersion.


Описание web-методов

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...