JASIG CAS登录没有CAS登录界面

Pra*_*arg 12 java cas jasig

我们正在尝试将CAS服务器用于我们现有的基于Web的应用程序的SSO.我们的目标是

  • 跨越各种应用程序(包括跨域)的Achive SSO.
  • 当重定向到CAS Server登录页面时,为不同的应用程序定制登录(在UI术语中)页面.
  • 能够在不进入CAS登录页面的情况下进行登录,原因是"小登录部分"嵌入在页面本身中,并且用户不会被重定向到CAS登录页面以获得更好的可用性.

我们完成了第一个和第二个目标.但是遇到第三个问题.

对于此功能,我们尝试复制与第二个目标相同的操作,唯一的区别是从非CAS登录页面提交/发布数据(凭据,登录票证等).

  • 我们不能使用iframe在小部分中显示CAS登录页面,这很容易受到浏览器兼容性问题的影响.
  • 我们不能使用ajax来使用CAS api来获取登录票并进行HTTP发布(跨域问题)
  • 我们所做的是:通过在服务器端执行HTTP发布来检索非cas登录页面的加载上的loginticket和执行ID.当我们发布用户名/密码以及loginticket和execId时,CAS服务器而不是接受发布数据会将用户重定向到CAS登录页面,但是返回浏览器并再次提交数据工作正常.原因是CAS和浏览器之间没有建立jsession,因此CAS拒绝任何发布数据.我们可以使用CAS restAPI,但它只会登录用户,无法帮助完成SSO.

关于我们如何处理这个问题的任何想法?

谢谢,Pratik

Ant*_* O. 1

CAS 上有一个 wiki 页面对此进行了争论:https://wiki.jasig.org/display/CAS/Using+CAS+without+the+Login+Screen (但比Misagh提出的谷歌小组讨论更早))。

我的解决方案是“从外部链接或自定义外部表单使用 CAS ”。