1

我有一个关于CAS 协议的(也许很简单)问题。根据我在协议描述中读到的内容,在/serviceValidate调用中使用renew参数会强制用户再次提供其凭据。

2.5.1。参数 以下 HTTP 请求参数可以指定给 /serviceValidate。它们区分大小写,必须全部由 /serviceValidate 处理。

[...] renew [OPTIONAL] - 如果设置了此参数,则仅当服务票证是从用户的主要凭据的呈现中发出时,票证验证才会成功。如果票证是从单点登录会话发出的,它将失败。

由于每个票证都是特定于给定服务的,这是否意味着更新参数会强制用户在每次尝试访问应用程序时提供其凭据,即使他已经登录并使用了其他应用程序?

4

1 回答 1

3

在 /serviceValidate URI 上设置“renew=true”表示只有当用户通过提供主要凭据(用户 ID、psw)获得该票证时,CAS 才会验证服务票证请求。因此,如果您在之前尝试建立 SSO 会话时尝试验证服务票证,将“renew=true”设置为 true 将导致验证失败。

但是,如果您试图强制用户每次使用/login URI 调用到 CAS 服务器时都输入他的凭据,那么“renew=true”将是要使用的参数。换句话说,如果应用程序 X 被指定为 /login URL 的服务 URL 并且 renew 设置为 true,则无论之前的 SSO 会话是否存在,用户都将被迫提供凭据。

希望有帮助。:)

于 2012-04-06T23:40:53.763 回答