use*_*512 13 java security jaas java-ee
我有手写的安全性,简单的servlet过滤器,它将未经授权的用户重定向到他们的登录页面.登录控制器在成功验证或其主页面后将它们重定向到请求的URL.这种方法工作正常,唯一的缺点是,我必须通过堆栈跟踪将存储在HttpSession中的User对象传递给EJB bean.
现在我重写了一些代码并使用Spring-security作为基于http的身份验证.它与Glassfish JAAS自动集成.
我不再需要通过stacktrace传递User,调用sessionContext.getCallerPrincipal()就足够了.但是主要对象只返回userName,而不是userId,所以如果我需要userId,我必须执行加法选择.
1)无论如何都有扩展Principal对象,所以它可以存储更多属性?
2)为什么我应该使用JAAS或Spring Security或其他安全框架,为什么不只是手写servlet过滤器?
Jur*_*rri 10
2)使用像JAAS这样的标准安全机制有很多优点:
您可以通过配置服务器轻松更改用户进行身份验证的方式 - 无需更改代码中的任何内容.
您可以确保您的安全性是最新的,支持最强大的算法,以安全的方式存储Principal等等.再次,只需保持与您的服务器,框架等最新.拥有手写安全模块很容易出错并很快就会过时.
您可以利用框架安全性 - 例如.web.xml安全标记,EJB安全注释.因为JAAS是一种标准的身份验证方式,所以您可以确保采用未来的技术会更容易,因为所有严肃的技术都将支持JAAS(Spring安全等).如果您的软件计划增长,您肯定需要一个标准.
它将为您节省时间和精力.JAAS提供身份验证和授权,在几分钟内可以整齐地打包和配置.
| 归档时间: |
|
| 查看次数: |
4254 次 |
| 最近记录: |