В чем преимущество использования j_security_check по сравнению с модулем входа с собственным кодом?

j_security_check упрощает загрузку пользователей с сервера ldap. Это экономит мне таблицу USER. Это похоже на то, что задача управления пользователями отделена от системы.

Но проблема в том, что в производственной системе со сложными требованиями большое количество данных связано с идентификатором пользователя. То, что я ожидаю от управления пользователями, — это не просто логин/подтверждение пароля. Например, у меня есть таблица USER_MEMBERSHIP для записи того, какое членство приобрел конкретный пользователь. Если пользователь регистрируется с помощью j_security_check, как я могу перечислить пользователей, принадлежащих к определенному членству? В конце концов я создал еще одну таблицу USER в своей базе данных и заполнил информацию о пользователях при первом входе в систему. Если мне нужно это сделать, почему я все равно должен использовать j_security_check? Почему бы просто не проверить пароль в моей базе данных и не отрезать соучастие form_login/ldap ?

Я так запутался здесь. Справедливо ли сказать, что j_security_check предназначен только для простых систем? Рекомендуется ли механизм входа в систему для сложных приложений Java EE?

Заранее спасибо.


person Song    schedule 01.07.2016    source источник


Ответы (1)


J_security_check является частью проверки подлинности, управляемой контейнером, которая берет на себя все бремя обеспечения входа пользователей в систему, связывания их с ролями и принудительного доступа на основе ролей к различным частям приложения, как определено записями безопасности в веб.xml. Если вы не используете CMA, вы обречены на то, чтобы переопределять все это самостоятельно. Это возможно; это подвержено ошибкам; это повторение уже проделанной работы. И проверено.

person user207421    schedule 01.07.2016
comment
да. Вы мне напоминаете ролевую функцию. Это важно да. Но в сценарии, о котором я говорил в посте, какова наилучшая практика? Считаете ли вы хорошей практикой поддержание таблицы USER в качестве локального кэша данных LDAP в вашей собственной базе данных? - person Song; 01.07.2016