пользователь, прошедший аутентификацию посредством 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