【发布时间】:2011-04-21 14:18:13
【问题描述】:
我得到了手写的安全性,简单的 servlet 过滤器,它将未经授权的用户重定向到他们的登录页面。登录控制器在成功验证后将它们重定向到请求的 URL 或它们的主页。这种方法工作正常,唯一的缺点是我必须通过堆栈跟踪将存储在 HttpSession 中的用户对象传递给 EJB bean。
现在我重写了一些代码并使用 Spring-security 作为基于 http 的身份验证。它与 Glassfish JAAS 自动集成。
我不再需要通过堆栈跟踪传递用户,调用sessionContext.getCallerPrincipal() 就足够了。但是主体对象只返回 userName,而不是 userId,所以如果我需要 userId,我必须执行添加选择。
1) 有没有扩展 Principal 对象,所以它可以存储更多的属性?
2) 为什么我应该使用 JAAS 或 Spring Security 或其他安全框架,为什么不直接手写 servlet 过滤器?
【问题讨论】:
标签: java security jakarta-ee jaas