правильный TDD - все о тестировании поведения, которое могло быть протестировано открытым интерфейсом..., если существует, любые закрытые методы тогда, те методы должны быть косвенно протестированы любым открытым интерфейсом...
Попробуйте найти в блоге , используя JAAS с JSF. Это пример того, как развернуть JAAS с JSF для аутентификации и авторизации.
Надеюсь, это поможет.
Тигр
Вы можете использовать среду Spring Security, см. Инструкции здесь http://ocpsoft.com/java/acegi-spring-security-jsf-login-page/
Я использую JSF Seam и использую встроенную аутентификацию и авторизацию Seam, и нахожу его чрезвычайно простым в использовании.
Для аутентификации вы просто реализуете 1 метод, public boolean login (Строковое имя пользователя, Строковый пароль) {...}
и возвращает логическое значение. Затем вы можете пометить страницы как "требуемые для входа в систему", а все остальное сделает seam.
Для авторизации Seam предоставляет вам аннотацию @Restrict
, которую вы можете поместить в свой Контроллер или методы службы, и снова Seam позаботится обо всем остальном.
Расширенная авторизация: вы также можете обрабатывать более расширенную авторизацию с помощью Seam , где роли являются динамическими - например, на доске объявлений вы являетесь «автором» некоторых сообщений, но «читателем» или другими сообщениями, просто делегировав аннотацию @Restrict методу Java.
Я бы посоветовал вам взглянуть на Шов. Шов - это просто слой поверх JSF, поэтому технически вы все равно будете работать на JSF. Если по какой-то причине вы не можете использовать Seam, возможно, вы можете позаимствовать некоторые идеи из того, как Seam обрабатывает авторизацию и аутентификацию в JSF.