有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

rest服务器设计中的java实现授权

我们的团队有一个REST服务器和一个使用Jersey开发的web应用程序。目前,我们只支持在应用程序中使用OpenID进行身份验证[1]。我们计划引入授权。在我的研究中,我发现基于角色的授权是实现这一点的一种方法。这种方法是拥有我们自己的表,如user、privileges和user\u privileges,并为用户分配所需的特权(一对多映射)

我有以下问题:

  • 因为我们有一个web应用程序和一个REST服务器。授权应该在REST服务器内部还是在Web应用服务器中实现

  • 希望了解使用Java的安全框架(如JAAS、ApacheShiro、OACC、Java安全注释[2](@RolesAllowed))的好处,以及代码重用能力、易于实现

  • 如果建议的话,我们还希望收到关于从上述框架(JAAS、ApacheShiro、OACC、Java安全注释)中选择哪种框架的建议

多谢各位

[1]https://en.wikipedia.org/wiki/OpenID
[2] https://docs.oracle.com/javaee/7/tutorial/security-javaee002.htm


共 (1) 个答案

  1. # 1 楼答案

    至于你的问题:“授权应该“在”REST服务器内部实现,还是在Web应用服务器中实现”:我的建议是在这两种服务器中都实现它!相反,在REST层调用的服务中实现安全性。换句话说,安全性是在服务的核心实现的,无论服务如何调用,安全性都是强制执行的

    至于你提到的安全框架,我对OACC有偏见/偏爱。OACC提供了一个完全实现的API,使用创新设计与应用程序无缝集成,支持多个数据库后端来持久化安全数据,并通过1000多个集成测试进行了广泛测试

    这是一篇讨论OACC安全模型的好文章:https://dzone.com/articles/a-different-kind-of-java-security-framework

    披露:我是OACC框架的创建者/首席架构师