пользователь , прошедший аутентификацию посредством OpenID , определяется стороной , проводящей аутентификацию .
Преимущества данной технологии : полностью бесплатная , не требуется использования услуг сторонних провайдеров , позволяет с наименьшими трудозатратами встроиться в существующую инфраструктуру , благодаря наличию большого количества готовых модулей с открытым исходным кодом .
При авторизации по OpenID интернет-портал может получить личные данные пользователя ( email , имя , пол , возраст и др ), при этом пользователю не придется каждый раз вводить данную информацию – достаточно это сделать один раз на сервере OpenID .
Для реализации единой точки доступа на порталах университета по адресу login . nvsu . ru был развернут сервер OpenId и разработан скрипт регистрации пользователей . За основу был взят программный продукт с открытым исходным кодом « Simple OpenID PHP Class », реализованный на языке PHP .
Для хранения сведений о заргенистрированных пользователях создана база данных в формате
MySQL . Структура базы данных приведена ниже . Структура базы данных сервера единой точки входа : Столбец local _ user _ id идентификатор пользователя в системе 1С ; Столбец user _ datareg дата регистрации пользователя ; Столбец user _ email адрес электронной почты пользователя ; Столбец user _ id уникальный идентификатор пользователя ; Столбец user _ pass пароль пользователя в зашифрованном формате ; Столбец user _ uniqid дополнительный уникальный идентификатор ; Столбец user _ verify _ mail сведения о проверке адреса электронной почты . Пример реализованного интерфейса для входа на сервер отображен на рисунке 1 .
Рис . 1 . Пример реализации интерфейса входа
Одной из главных проблем является определение принадлежности конкретного пользователя к университету , необходимо однозначно установить , является ли зарегистрированный пользователь студентом , сотрудником или преподавателем , либо не имеет к университету никакого отношения . С этой целью был реализован механизм обмена данных сервера OpenID с корпоративной системой 1С : Вуз . При получении запроса от сервера в системе 1С формируется пакеты XML , содержащий следующие данные :
‣ user _ id – идентификатор пользователя в системе 1С ;
‣ user _ fio – фамилию , имя , отчество пользователя ;
‣ user _ pass – идентификатор пользователя ;
‣ user _ status – статус пользователя ( преподаватель , студент , сотрудник , удаленный пользователь );
‣ user _ update _ stat – статус обмена данными ( новый пользователь , удаление пользователя и т . п .). При получении пакета XML сервер OpenId в ответ так же направляет XML пакет , содержащий следующие данные :
‣ user _ id – идентификатор пользователя в системе 1С ;
‣ user _ email – адрес электронной почты зарегистрированного пользователя .
4