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