我有一个.net / Java应用程序(application1),我必须在另一个使用Java设计的应用程序(application2)上集成我所拥有的服务,重要的是登录application1的用户应该保持应用2。
我知道CAS身份验证可以用作解决方案但我不确定如果有任何关于此类共享的想法可以实现这一点。
答案 0 :(得分:0)
CAS是基于令牌的单一签名的最佳选择,它也是一个安全的。 CAS将以.war文件格式提供,您只需将其部署到任何服务器(如tomcat),现在CAS将作为集中式身份验证系统使用。 从您的应用程序.Net / Java中,您必须导入CAS客户端库,并执行xml配置以进行登录,注销和重定向。像这样,你必须重复其他应用程序(app2)。
根据您的要求,第一个应用程序可能是父应用程序,因此您需要在父应用程序数据库中实现与cas相关的令牌表。在这种情况下,第二个应用程序级别无需检查密码,cas将通过第一个应用程序使用令牌generetd进行身份验证。
如果您希望CAS应该是您的父应用程序在CAS用户数据库中,您应该拥有用户的所有登录详细信息,例如用户名和密码等。一旦完成cas登录,您必须提供任何按钮或链接以打开其他应用程序,通过使用cas客户端库,如果其数据库中存在用户名,其他应用程序也将获得身份验证。
例如,请参阅:https://docs.spring.io/spring-security/site/docs/3.0.x/reference/cas.html