Почему я должен использовать JAAS против рукописной защиты?

Я получил рукописную защиту, простой сервлет-фильтр, который перенаправляет неавторизованного пользователя на их страницы входа. Контроллер входа перенаправляет их на запрошенный URL-адрес после успешной аутентификации или на их главную страницу. Этот подход работает нормально, единственный недостаток в том, что я должен передать объект User, который хранится в HttpSession, через stacktrace в EJB beans.

Теперь я переписал некоторый код и использую Spring-security как аутентификацию на основе http. Он автоматически интегрируется с Glassfish JAAS.

Мне больше не нужно передавать User через stacktrace, достаточно вызова sessionContext.getCallerPrincipal () . Но основной объект возвращает мне только userName, а не userId, поэтому мне нужно выполнить дополнительный выбор, если мне, например, нужен userId.

1) Есть ли способ расширить объект Principal, чтобы он мог хранить больше свойств?

2) Почему я должен использовать JAAS, Spring Security или другую безопасность framework, почему бы просто не написать фильтр сервлетов?

13
задан user12384512 21 April 2011 в 14:18
поделиться