【发布时间】:2014-06-09 13:02:17
【问题描述】:
我目前正在开发基于 Java EE 7、PostgreSQL 和应用服务器 GlassFish 4 的 Web 应用程序。 我需要实现基于表单的身份验证,并确保某些 URL 的安全:
- 用户和角色/组(无论它们叫什么)都存储在数据库中。
- 我希望我的应用程序尽可能“标准”(即我目前使用的是 JSF 和 JPA,没有其他框架,如 spring、struts ...)
经过一番研究,我发现 Java EE 提供了一种标准的身份验证机制,称为 JASPIC。因此,我将研究重点放在 JASPIC 上,并阅读了多篇 Stackoverflow Q/A 以及 Arjan Tijms 撰写的那些文章(如果没有他的答案或 cmets,几乎不可能找到与 Java EE 相关的 Stackoverflow Q/A,感谢他方式):
- http://arjan-tijms.blogspot.fr/2012/11/implementing-container-authentication.html
- http://arjan-tijms.blogspot.fr/2013/04/whats-new-in-java-ee-7s-authentication.html
- http://arjan-tijms.blogspot.fr/2014/03/implementing-container-authorization-in.html
我的问题是:JASPIC 是否允许我做我需要的事情(表单身份验证 + 带有角色的 URL 限制)并且值得努力使用它吗? 我的意思是:使用另一种机制可能更安全、更容易。
Arjan Tijms 还表示,无论使用 JASPIC 是否是“一种先有鸡还是先有蛋的问题”,以及 JASPIC 是否可以安全使用(它不会产生比它解决的问题更多的问题),无论使用多少我需要写的代码,我真的很想成为“第一只鸡”。
【问题讨论】:
-
安全是为了提高安全性,而不是强制执行。您的安全取决于系统运行时环境中最薄弱的环节,通常最薄弱的环节是人。老实说,您下定决心所需知道的一切都在您发布的第一个(精彩)链接中。感谢您顺便分享这些。除此之外,还有关于安全的 JEE 教程页面:docs.oracle.com/javaee/6/tutorial/doc/gkbaa.html
标签: java jakarta-ee authentication standards jaspic