2016-05-30 13 views
1

其他应用程序的应用程序可以让我们说我们有两个应用传递用户ID作为私有密钥加密值访问它使用CAS的SSO

  1. 应用1使用CAS认证
  2. 外部应用App2一些自定义的验证

和一个id为'user1'的用户。此用户一旦登录到App2,我们想要显示允许用户登录到App1的链接(App1的链接)。用户一旦点击链接应采取到App1。

App2仅将用私钥加密的用户标识传递给App1。它不会传递密码。

用户--------->外部应用2 -----加密的用户ID -----> CAS =====应用1

这是可能实现的,因为请求不包含密码? 您可以请指导我的方法,因为这是我第一次使用CAS和SSO。

非常感谢您的帮助。

我们正在使用CAS 3.4和Spring 3集成。

回答

1

是的,这是可能的,在你的App1中,你不需要检查密码,因为CAS会验证,而在其他App级别,当你点击你的链接(APP1)时,你必须通过Access令牌和用户名您的App1必须使用CAS库,这些库将检查请求是否来自受信任的站点,Access令牌(此处我们称为服务票证和代理授予的票证)是否有效。一个这两个检查完成你的认证功能/方法将得到执行(你必须这样配置),如果用户名存在于你的数据库中,你必须创建一个会话,你可以假设它登录。功能可能会根据技术和要求而有所不同。

+0

感谢Kamal的快速​​反应。由于App2是一个外部应用程序,它如何获取访问令牌?它是否需要向CAS服务器发送请求(由App1使用)来获取访问令牌? –

+0

是的,您的App1和App2都应该配置CAS服务器 –

+0

用户将在App1和外部App2中拥有不同的密码。如果我没有错,为了从App2获取Access令牌,我们需要传递与App1不同的用户标识和密码。如何处理这种情况?请指教。 –

相关问题