XML-файл-провайдер аутентификации

Принцип работы

Это — наиболее простой провайдер. Он работает с файлом XML на диске. Формат этого файла предопределён (пример см. ниже), файле хранится логин пользователя, хэшированный по SHA-1 пароль, а также дополнительная информация о пользователе, такая, как его имя, email и прочее.

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

<?xml version="1.0" encoding="utf-8"?>
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.curs.ru/authserver users.xsd" xmlns="http://www.curs.ru/authserver">
	<user login="Иванов" password="пасс1"
		SID="8dbf2a31-cfe6-4188-a2f0-0125481355cd" name="Алексей В. Васильев"
		email="12@yandex.ru" phone="123-56-78" organization = "org1" fax = "fax1"/>
	<user login="Петров" password="c8233fc18a5fd0f87284d9fa971049891315ed84"
		SID="f2f0dbe5-da83-4367-9827-01e7c179ea3a" name="Борис В. Смирнов"
		email="34@yandex.ru" phone="784-23-f5" organization = "org2" fax = "fax2"/>
	<user login="Сидоров" password="пасс3"
		SID="5e599041-6a69-466e-b22c-f3003be536d9" name="Евгений Балмасов"
		email="56@yandex.ru" phone="апе-43-67" organization = "org3" fax = "fax3"/>
        <user login="user111" password="pwd111"
                SID="8dbf2a31-cfe6-4188-a2f0-0125481355ce" name="Алексей В. Васильев"
                email="12@yandex.ru" phone="123-56-78" organization = "org4" fax = "fax4"/>
</users>

Параметры настройки в файле config.xml

Провайдер определяется тэгом xmlfile.

Параметры (субтэги):

  • id (строка) - идентификатор провайдера.

  • logging (true/false) - выводить в лог события работы провайдера.

  • group_providers (строка) - группа, к которой относится данный провайдер. Используется для ограничения множества провайдеров, в которые происходит попытка логина. Может быть пустой или отсутствовать. Конкретная группа передается в качестве параметра в сервлете логина, пользователь может иметь возможность явно выбирать группу провайдеров при подключении.

  • url (строка) - полный путь к XML-файлу, содержащему данные о пользователях.