Возможность авторизовать администраторов с LDAP сервера.

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


Необходимо установить модуль Net::LDAP

Параметры

$conf{LDAP_IP}='xx.xx.xx.xx';IP адрес LDAP сервера
$conf{LDAP_BASE}='dc=your.domain';Базовый элемент дерева (dc domainComponent)


dn: cn=abills_admin,ou=users,dc=your.domain
objectClass: top
objectClass: person
#mail: pupkin@mail.com
#homePhone: 3322334455
telephoneNumber: 38050774433
cn: abills_admin2
sn: Vasya Pupkin
userPassword: {SSHA}wEFKat3VPBps4cAfcFsjZL4j7GOOA3N8


$conf{LDAP_BASE}='@your.domain';Указание домена


dn: abills_admin@your.domain
objectClass: top
objectClass: person
#mail: pupkin@mail.com
#homePhone: 3322334455
telephoneNumber: 38050774433
cn: abills_admin2
sn: Vasya Pupkin
userPassword: {SSHA}wEFKat3VPBps4cAfcFsjZL4j7GOOA3N8


$conf{LDAP_AUTH_UID}=1;Авторизация по uid  параметру



dn: uid=abills_admin,ou=users,dc=your.domain
objectClass: top
objectClass: person
#mail: pupkin@mail.com
#homePhone: 3322334455
telephoneNumber: 38050774433
cn: abills_admin2
sn: Vasya Pupkin
userPassword: {SSHA}wEFKat3VPBps4cAfcFsjZL4j7GOOA3N8



Каскадная авторизация разрешает авторизовывать абонентов сначала по внешней системе, а потом по внутренней базе биллинга

Для LDAP  есть следующая реализация

1. LDAP - если есть такой пользователь и пароль верный - успешно авторизуем

2. LDAP - если есть такой пользователь, но пароль неверный - ошибка авторизации (неверный пароль)

3. LDAP нет такого пользователя, смотрим в локальную базу, если есть такой пользователь и пароль верный - авторизуем

4. LDAP нет такого пользователя, смотрим в локальную базу, если есть такой пользователь, но пароль неверный - ошибка авторизации (неверный пароль)

5. Ну и если нигде пользователь не найден - соответственно тоже ошибка авторизации (пользователь не найден)


Включается опцией $conf{AUTH_CASCADE}=1;