Web-сервисы: Сервис для авторизации

Материал из Megatec
Перейти к: навигация, поиск

Введение

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

Ссылка на тестовый сервис

С работой тестового сервиса авторизации вы можете ознакомиться на нашем демо-сервере.

Установка

Для установки Сервиса авторизации нужно создать директорию Authorization в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда распакованные файлы из архива mw-ws-authorization-9.2.x.xxxxx.zip. В управлении IIS необходимо создать виртуальный каталог для папки Authorization.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб IIS

3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
Преобразовать в приложение

4 В открывшемся окне нужно нажать кнопку ОК
Добавить приложение

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке Authorization пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>

Настройка

После установки сервис авторизации доступен по адресу
http://ip-адрес сервера Мастер-Веб/Authorization/WsAuthorization.asmx.

Настройка базы данных

  • Для защиты веб-сервисов от несанкционированного использования нужно выполнить по базе данных ПК «Мастер-Тур» скрипт:
    insert into [SystemSettings] (SS_ParmName,SS_ParmValue) values ('SYSCheckSecurityToken','1')
    
  • Отключить использование сервиса авторизации можно скриптом:
    update [SystemSettings] set [SS_ParmValue] = '0' where [SS_ParmName] in ('SYSCheckSecurityToken')
    
  • Начиная с ПК «Мастер-Web» 2009.2.17.1 (пакет обновлений № 1 для релиза ПК «Мастер-Web» 2009.2.17) использование сервиса авторизации по умолчанию не требуется.

Настройки в файле WEB.CONFIG

В конфигурационном файле Web.config сервиса авторизации нужно указать следующие настройки:

  • Строка подключения к базе данных ПК «Мастер-Тур» в элементе <appSettings>, например:
    <add key="connectionString"
      value="Data Source=server; Initial Catalog=database; User Id=root; Password=toor; Application Name=ds"/>
    
  • Настройки авторизации в элементе <appSettings>:
    <add key="wsAuthLogin" value="qaz"/>
    <add key="wsAuthPassowrd" value="123"/>
    <add key="tokenLifeTime" value="5"/>
    <add key="usePasswordHashing" value="false"/>
    
    • wsAuthLogin — логин доступа к WsAuthorization;
    • wsAuthPassowrd — пароль доступа к WsAuthorization;
    • tokenLifeTime — время до повторной авторизационной проверки в минутах;
    • usePasswordHashing — включение хеширования пароля.
  • Для корректной работы сервиса WsAuthorization на релизах ПК «Мастер-Web» 2009.2.15 и выше нужно включить настройку customErrors в элементе <system.web>:
    <system.web>
      <customErrors mode="On"/></system.web>
    

Работа в системе

Метод получения хеш-пароля (GetHash)

Данный метод возвращает хеш-пароль.

Список принимаемых параметров:

  • password – пароль, указанный в конфигурационном файле сервиса авторизации web.config

Метод получения токена (GetToken)

Данный метод возвращает токен.

Список принимаемых параметров:

  • login – логин, указанный в конфигурационном файле сервиса авторизации web.config
  • password – пароль, полученный в результате отработки метода получения хеш-пароля (GetHash)
  • addInfo – комментарий

Метод получения токена (метод «GetUserToken»)

Данный метод возвращает токен.
Токен будет возвращен только в следующих случаях:

  • если пользователь с указанным логином и паролем существует
  • если у данного пользователя стоит признак on-line

Список принимаемых параметров:

  • login - имя пользователя on-line системы бронирования ПК «Мастер-Web»
  • password - пароль пользователя on-line системы бронирования ПК «Мастер-Web».