...
Режимов аутентификации может быть несколько - в этом случае в окне логина можно выбрать необходимый. На данный момент поддерживаются три режима 6 режимов аутентификации:
по номеру договора:
Блок кода language scala authenticationMode { mode = 'contract' }
по логину модуля Inet:
Блок кода language scala authenticationMode { module = 'inet' mode = 'login' // ID модуля moduleId = 1 }
по IP-адресу сессии модуля Inet (вход без пароля):
Блок кода language scala authenticationMode { module = 'inet' mode = 'ip' // ID модуля moduleId = 1 // ограниченный доступ role = 'unauthCustomer' }
по параметру договора "телефон":
Блок кода language scala authenticationMode { module = 'kernel' mode = 'phoneParam' // ID параметра parameterId = 1 // преобразование введенного номера договора username = { s -> s.replaceAll( /^8(.+)$/,'7$1' ) } }
по параметру договора "Email":
Блок кода language scala authenticationMode { module = 'kernel' mode = 'emailParam' // ID параметра parameterId = 2 // преобразование введенного номера телефона username = { s -> s.replaceAll( /^8(.+)$/,'7$1' ) } }
по текстовому параметру договора:
Блок кода language scala authenticationMode { module = 'kernel' mode = 'textParam' // ID параметра parameterId = 3 }
При аутентификации по параметру договора в качестве пароля используется пароль к личному кабинету (как и при аутентификации номеру договора). При аутентификации по номеру телефона идет поиск только по введенным цифрам, при этом можно задать преобразование введенного номера в другой вид с помощью параметра username; если параметр username не указан, то по умолчанию 8 в начале строки заменяется на 7.
Для режима аутентификации можно назначить, чтобы доступ после аутентификации через него был ограничен. Для этого указывается параметр role = 'unauthCustomer'. В этом случае, вызов isUserInRole( "customer" ) будет возвращать false. Ограниченный доступ может быть указан, например, для режима аутентификации по IP-адресу модуля Inet.
Можно разрешить аутентификацию только для определенных групп договоров, указав условие в параметре filter:
...