JASIG CAS登录程序(使用Liferay)

时间:2010-08-27 05:55:07

标签: java single-sign-on liferay autologin

我正在使用JASIG CAS进行SSO登录liferay。现在,当我直接尝试登录时,它的工作正常,因为重定向与CASFilter一致。它重定向到CAS登录页面,登录成功后,它会重定向到我们提供的应用程序URL。

现在我想使用liferay的登录portlet登录CAS。此portlet在liferay中提供登录,与登录相同,但其提交URL为diff。所以,CAS重定向在这里不起作用。

我不想在这里登录CAS。登录liferay后,我想直接登录CAS。我已经使用Apache HttpClient检查了它,但它不起作用。我尝试将POST方法用于所有输入字段。问题是,CAS使用一个名为lt的隐藏字段,每次登录页面加载时都是随机字符串。因此,当我以编程方式访问页面时,我无法读取此字段。

如果我们提供较旧的lt,那么它也无效。

那么,还有其他任何人见过的方式吗?

1 个答案:

答案 0 :(得分:1)

我在Smile.fr公司转发了这个问题。请参阅下面翻译的我的一位技术人员的回复。

lt字段是登录票证,用于在启动身份验证之前获取CAS服务器。

避免使用CAS:

  1. 在CAS服务器上获取一张登录票
  2. Sen auth请求包含凭据,lt和back服务URL(我们刚刚登录的那个)
  3. Goin通过CAS服务器是强制性的,因为他是唯一能够发送TGC的人,要求获得服务票据作为回报。

    很少有链接:

    https://wiki.jasig.org/display/CAS/Using+CAS+without+the+CAS+login+screen

    https://wiki.jasig.org/display/CAS/Using+CAS+without+the+Login+Screen

    第一个链接中的“为什么不这样做”被认为是一个好主意。