Class TekRabService
java.lang.Object
ru.pfr.common.biud.security.service.TekRabService
Сервис для работы с таблицей CS.TEKRAB (текущая работа пользователя).
Отвечает за:
- Учёт количества неудачных попыток входа
- Сброс счётчика после успешной аутентификации
- Получение флагов abd (администратор безопасности) и tpi (только просмотр) из ролей
-
Constructor Summary
ConstructorsConstructorDescriptionTekRabService(BiudTekRabRepository tekRabRepository, BiudRoleRepository roleRepository) -
Method Summary
Modifier and TypeMethodDescriptionintПроверить, есть ли у пользователя роль с abd=1 (администратор безопасности).intПроверить, есть ли у пользователя роль с tpi=0 (ограничение на просмотр).intgetAttemptCount(String login) Получить количество неудачных попыток входа для пользователя.intincrementAttempts(String login) Увеличить счётчик неудачных попыток.voidresetAttempts(String login) Сбросить счётчик неудачных попыток после успешной аутентификации.voidsetMaxAttempts(String login, int maxAttempts) Установить максимальное количество попыток (при блокировке).
-
Constructor Details
-
TekRabService
-
-
Method Details
-
getAttemptCount
Получить количество неудачных попыток входа для пользователя.Аналог метода getKolTekrab() из DBUserRegistry: select * from cs.tekrab where login=?
- Parameters:
login- логин оператора- Returns:
- количество неудачных попыток, или -1 если запись не найдена (пользователь не существует)
-
resetAttempts
Сбросить счётчик неудачных попыток после успешной аутентификации.Аналог обновления в tek_kol_value(): update cs.tekrab set kol=0, ... where login=?
- Parameters:
login- логин оператора
-
incrementAttempts
Увеличить счётчик неудачных попыток.Аналог обновления в tek_kol_value(): update cs.tekrab set kol=kol+1, ... where login=?
- Parameters:
login- логин оператора- Returns:
- новое количество неудачных попыток
-
setMaxAttempts
Установить максимальное количество попыток (при блокировке).- Parameters:
login- логин оператораmaxAttempts- максимальное значение счётчика
-
findAbd
Проверить, есть ли у пользователя роль с abd=1 (администратор безопасности).Аналог метода fndAbd() из DBUserRegistry: select abd from cs.role where name in (select role from cs.operatorrole where login=?) and abd=1
- Parameters:
login- логин оператора- Returns:
- 1 если есть роль с abd=1, иначе 0
-
findTpi
Проверить, есть ли у пользователя роль с tpi=0 (ограничение на просмотр).Аналог метода fndTpi() из DBUserRegistry: select tpi from cs.role where name in (select role from cs.operatorrole where login=?) and tpi=0
- Parameters:
login- логин оператора- Returns:
- 0 если есть роль с tpi=0, иначе 1
-