Java EE 中的用户管理安全性
我想在 Java EE 6 应用程序中保护我的 JSF 页面。
我想将用户和角色存储在数据库中,并让特权用户通过 Web 工具管理它们。特权用户将用户添加到角色,并将某些页面设置为需要某些角色才能访问。
在我看来,容器管理的安全性不允许我这样做。 JAAS 会成为未来的方向吗?
任何建议和示例链接将不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简短的回答是肯定的。 JAAS 将允许您使用 LoginModule 管理数据库的安全性(许多容器实现 JBoss 提供这些预装的开箱即用),您可以查看这篇文章(http://weblogs.java.net/blog/2006/03/07/repost-using-jaas-jsf)或这本书(http://www.java.net/external?url=http://purl.oclc.org/NET/jsfbook/)了解如何对用户进行身份验证并确定授权参数的更多具体信息与 JAAS 和 JSF 一起。
对于您的第二个要求,我看不出您有任何理由可以创建一个可以访问这些表来修改凭据信息的单独工具。尽管这个问题似乎已经通过使用 LDAP 提供程序和许多免费开源 Web 界面中的任何一个来解决。
由于关注点明确分离,另一个漂亮的功能是您以后可以轻松地迁移到 LDAP 或第三方服务,而无需付出任何努力。
The short answer is yes. JAAS will allow you manage security against a database use a LoginModule(many container implementations JBoss offer these pre-canned out of the box) and you can check out this article(http://weblogs.java.net/blog/2006/03/07/repost-using-jaas-jsf) or this book(http://www.java.net/external?url=http://purl.oclc.org/NET/jsfbook/) for more specifics how to authenticate Users and determine authorization parameters with JAAS and JSF.
For your second requirement, I can't see any reason why you can then create a separate tool that has access to those tables to modify credential information. Though this seems like a problem that has already been solved by using an LDAP provider with any one of a number of free and open source web interfaces.
Another nifty feature because of the clear separation of concerns is that you can later easily migrate to LDAP or third party services with little effort.
我建议您查看 Spring Security。
这是一篇解释使用 的文章Spring Security 与 JSF。
I recommend that you take a look at Spring Security.
Here is an article that explains using Spring Security with JSF.