OpenAM和SpringSecurity4集成

OpenAM和SpringSecurity4集成,spring,spring-mvc,spring-security,saml-2.0,openam,Spring,Spring Mvc,Spring Security,Saml 2.0,Openam,我正在构建一个Spring MVC Hibernate后端,其中包含数十个RESTful web服务。前端可能是一个HTML5、CSS3和JQuery web应用程序,它利用了我正在开发的后端web服务 我们在Tomcat服务器上有一个OpenAM 10.x SSO系统,我们想告诉我们,对于身份验证,这里没有授权规则或组。我看到的所有文档都是未知版本的OpenAM和SpringSecurity3。我们有OpenAM 10.x,没有已知的时间升级到最新的OpenAM。我们计划使用目前最新的Spri

我正在构建一个Spring MVC Hibernate后端,其中包含数十个RESTful web服务。前端可能是一个HTML5、CSS3和JQuery web应用程序,它利用了我正在开发的后端web服务

我们在Tomcat服务器上有一个OpenAM 10.x SSO系统,我们想告诉我们,对于身份验证,这里没有授权规则或组。我看到的所有文档都是未知版本的OpenAM和SpringSecurity3。我们有OpenAM 10.x,没有已知的时间升级到最新的OpenAM。我们计划使用目前最新的SpringSecurity4.0.3

1) 我们可以这样做的一种方法是建立一个信任圈,然后建立一个IDP和一个SP,然后我们将有一个URL来进行联合SSO。我相信这就是我们的前端将如何获得身份验证,并将令牌返回到前端,并可能存储为cookie的方式

2) 我看到的另一种方法是简单地调用OpenAM restful api,传入用户名和密码并获取令牌。然后,为了安全起见,该令牌将被用于传递到后端RESTful api

我们肯定会对用户、角色和权限(授权)使用Spring安全性,所以我们可以这样做吗?对用户、角色和权限使用SpringSecurity4.0.3,但对身份验证使用OpenAM


任何信息都会非常有用。谢谢

我们已经在我们的一个应用程序中做了类似的事情。我们从使用OpenAM12开始,现在使用OpenAM13快照

不过,我们一直在使用OpenID Connect进行集成,而不是SAML。 这对我们来说是一个很好的起点:

我们在OAuth2ProtectedResourceDetails中使用了默认的header/basic方案,而不是示例中的表单

在OpenAM上,您必须配置OpenID连接提供程序。 OpenAM 13中的步骤:

  • 以amAdmin身份登录
  • 选择领域
  • 登录页(仪表板/领域概述)将列出常见任务
  • 选择配置“OAuth提供程序”,然后选择“配置OpenID连接”
  • 选择默认值并单击“创建”
  • 然后您必须添加一个代理/客户端。 OpenAM 13中的步骤:

  • 在领域配置页面中,选择代理
  • 选择OAuth 2.0/OpenID连接客户端
  • 单击新建按钮,输入client_id和client_secret值并创建代理
  • 单击新创建的代理进一步配置参数,如重定向uri、作用域等

  • 如果您无法选择OpenAM 12或13,并且仍坚持使用OpenAM 10,则此信息可能没有用处。

    非常感谢您的回复。我的经理最近告诉我,我们将使用OpenAM12。。。或是任何最新的消息。所以,当我开始这个项目时,我们将不必处理OpenAM 10,再次感谢!所以在看了SpringSource David Syers的各种视频之后,我们现在似乎将使用OpenAm 10中的Oauth2,然后是OpenAm 12中的Oauth2。因此,现在我正在寻找一个spring-security.xml示例,以及我能找到的任何其他信息。OAuth2中的Auth用于授权,而不是身份验证。知道这一点很好,因为我在这个领域绝对是个新手,所以我正在尽可能多地尝试asorb。但是让我问一下…因为我知道我现在可以从OpenAM10的RESTfulURL中获得一个令牌。。。您认为可以配置一个spring-security.xml文件来使用它吗?这真的是我的下一步。。。我已经把所有的罐子都装进去了,现在我只需要开始配置。我知道一些类似于配置类,但我对xml文件很满意。谢谢你的帮助。是的,你可以使用OpenAM的RESTfulAPI,但是这会把你和OpenAM联系在一起。对我们来说,整个目标实际上是构建我们的应用程序,以使用标准的SSO技术,如OpenID Connect(OAuth2),这样我们就可以切换出OpenAM并轻松地使用另一个SSO产品(可能是客户端已经在使用的产品)。关于SpringXML配置,对不起,我没有任何参考资料。顺便说一句,我发现这对理解基本原理非常有用: