Java EE Security: JASPIC / JAAS还是应用安全框架?(玻璃鱼3)
我目前正在使用Oracle ADF(这是一个端到端的Java EE框架)来构建我的Web应用程序,并使用GlassFish 3.1作为应用程序服务器。
后者支持JAAS(在其管理控制台中声明性)。因此,我创建了一个安全域,并将它们与配置文件中声明的角色进行映射,并使用 JAAS 实现授权和认证安全性功能。一切都很好,直到现在!在过去的几周里,我一直在研究Java EE安全性。
我发现JAAS已经足够好了,如果你坚持“基本”的安全性。此外,JAAS(作为Java安全框架的一部分)似乎只适用于Java SE(但由于Java EE是在Java SE上构建的,因此它的一些模块正在被重用,例如LoginMethod和回调)。
然后,我发现了许多关于JASPIC的帖子,发现它只能通过编程方式实现(不是问题),并且应用程序服务器供应商尚未完全支持它,并试图在两者之间进行比较。即使 JASPIC1.1 发行版已经解决了一些问题,例如:
但是,容器不会完全记住身份验证。SAM 仍会在每次请求时调用,并且 SAM 仍必须重新进行身份验证
(对我来说听起来不太好)。
然后,我一直在寻找集成一些安全框架。最有名的似乎是“春天”和“四郎”。当然,它们中的每一个都有自己的特点(可能是第一个更适合特定情况,而第二个在另一个情况下)。对我来说更重要的是:
- 认证
- 授权
- 会话管理(可能还有加密)
但是,到处我都发现了矛盾的结论。结果:我现在在搜索之前更加困惑。
我只是一个安全等主题的新手,而且我是一个开发人员(我有东西要实现),所以很难跟上每个新版本的最新状态,而且安全性方面的进展似乎每天都在飞速发展。
如果可能的话,我想要一些基于个人经验的事实。每一个提示或建议都是值得赞赏的。我想在采取实施步骤之前确保我有信心。