Java EE安全性:JASPIC/JAAS还是应用安全框架?(Glassfish 3)

 手机用户2502877051 发布于 2023-01-18 16:55

我目前正在使用Oracle ADF(这是一个端到端的Java EE框架)来构建我的Web应用程序和GlassFish 3.1作为应用程序服务器.

后者支持JAAS(在其管理控制台中声明).因此,我创建了一个安全领域,并使用配置文件中声明的角色映射它们,并使用JAAS实现授权和身份验证安全功能.一切都很好,直到现在!在过去的几周里,我一直在研究Java EE安全性.

我发现如果你坚持使用"基本"安全性,那么JAAS就足够了.此外,似乎JAAS(作为Java安全框架的一部分)仅适用于Java SE(但由于Java EE是基于Java SE构建的,因此其中一些模块正在被重用,例如LoginMethod和Callbacks).

然后,我发现很多关于JASPIC的帖子,发现它只能通过编程方式实现(不是问题),并且它还没有被app服务器供应商完全支持,并试图在两者之间进行比较.即使JASPIC1.1版本已经解决了一些问题,例如:

但是,容器不会完全记住身份验证.在每个请求仍然调用SAM,并且SAM仍然必须重新进行身份验证

(这对我来说听起来不太好).

然后,我继续寻找集成一些安全框架.最着名的似乎是"春天""四郎".当然,他们每个人都有自己的特点(可能第一个更适合特定情况,而第二个更适合另一个).对我来说更重要的是:

认证

授权

会话管理(可能还有加密)

但是,到处都发现了相互矛盾的结论.结果:在搜索之前我现在更加困惑.

我只是安全等主题的新手,而且我是一名开发人员(我有实施的东西),因此很难及时了解每一个新版本,安全方面的进展似乎每天都在继续.

如果可能的话,我想根据个人经验得出一些事实.每个提示或建议都表示赞赏.我想确保在采取实施步骤之前我有信心.

1 个回答
  • JASPIC是Java EE的一部分技术,它与它集成得非常好.

    JASPIC身份验证模块不会自动记住会话这一事实也是一个优势,因为它使它们也适用于无状态应用程序(想想诸如JAX-RS之类的API).当您进行身份验证并希望进行会话时,只需将结果(用户名+组)放入会话中即可.然后在每个"validateRequest"方法开始时,快速检查会话中是否有任何内容,如果是,请再次将这些内容提供给容器.无需从头开始验证,当然也不需要记住任何密码!

    Shiro和Spring Security是非常全功能的框架.你几乎无法将它与JASPIC进行比较,而JASPIC是非常低级和基本的.Spring和Shiro都没有与Java EE完美集成.据说Spring Security比Shiro更复杂.

    希望这可以帮助

    2023-01-18 16:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有