Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 3个不同SpringWeb应用程序之间的SSO_Spring Mvc_Oauth_Spring Security_Single Sign On_Cas - Fatal编程技术网

Spring mvc 3个不同SpringWeb应用程序之间的SSO

Spring mvc 3个不同SpringWeb应用程序之间的SSO,spring-mvc,oauth,spring-security,single-sign-on,cas,Spring Mvc,Oauth,Spring Security,Single Sign On,Cas,以下是我的情况: 数据Webapp:它是一个第三方Webapp,向用户显示一些受角色限制的相关数据。它是使用Spring开发的,但为了安全起见,它使用tomcat摘要,并从jndi资源获取用户和角色。不过,我有源代码,可以在上面实现Spring安全性 用户和角色管理器Webapp:它是我的,管理一个数据库,其中包含用户、角色等。它是在Spring中开发的(MVC、安全等)。DB在tomcat中作为jndi资源公开,其他应用程序从该资源获取必要的数据。我创建此应用程序是因为我希望在#1中尽可能减少

以下是我的情况:

  • 数据Webapp:它是一个第三方Webapp,向用户显示一些受角色限制的相关数据。它是使用Spring开发的,但为了安全起见,它使用tomcat摘要,并从jndi资源获取用户和角色。不过,我有源代码,可以在上面实现Spring安全性

  • 用户和角色管理器Webapp:它是我的,管理一个数据库,其中包含用户、角色等。它是在Spring中开发的(MVC、安全等)。DB在tomcat中作为jndi资源公开,其他应用程序从该资源获取必要的数据。我创建此应用程序是因为我希望在#1中尽可能减少侵入性

  • REST服务Webapp:它是我的,我在这一个中使用tokenauth。从jndi资源获取数据时,用户发送用户/密码并验证凭据。它返回一个有效的令牌

  • 在#2中,我有两种通过Spring表单的身份验证类型(用户/密码和Openid)

    我想到的第一件事是#2应用程序可以像CAS服务器一样,因为我只使用它来添加用户、编辑、设置角色、删除组,。。。但我不知道有真正的实现是否有意义

    第二个是部署一个真正的CAS服务器,但我不知道这对于两个或三个应用程序来说是否太多。我读过一些关于CAS,SAML,OAUTH2。。。但是我有一点混合物

    你能帮我决定哪个选项最合适吗?我想共享同一个登录页面,以便能够通过rest登录,而不是每次在应用程序之间切换时都看到登录页面

    多谢各位