Spring security 如何配置spring security cas客户端以检索自定义属性

Spring security 如何配置spring security cas客户端以检索自定义属性,spring-security,cas,Spring Security,Cas,我正在尝试使用spring security设置CAS客户端。 我从和开始 此时一切正常。 之后,我尝试将我的客户端配置为获取代理授权票证和服务器发布的自定义属性 为此,我依赖于spring安全文档 我走进我的ticketValidator 添加ProxyGrantingTickets存储 用Cas20ProxyTicketValidator(或使用V3协议的Cas30ProxyTicketValidator)替换Cas20ServiceTicketValidator 添加ProxyCallba

我正在尝试使用spring security设置CAS客户端。 我从和开始

此时一切正常。

之后,我尝试将我的客户端配置为获取代理授权票证和服务器发布的自定义属性

为此,我依赖于spring安全文档

我走进我的ticketValidator

  • 添加ProxyGrantingTickets存储
  • 用Cas20ProxyTicketValidator(或使用V3协议的Cas30ProxyTicketValidator)替换Cas20ServiceTicketValidator
  • 添加ProxyCallbackUrl()
  • 在mycasAuthenticationFilter中:

  • 设置ProxyReceptorUrl(/login/cas/proxyreceptor)
  • 添加ProxyGrantingTickets存储
  • 这些设置的结果:

    如果没有ProxyCallbackUrl,我将从cas服务器获得一个答案,但没有标记proxyGrantingTicket。我想这就是我没有在主体中检索自定义属性的原因。如果ServiceTicketValidator没有找到票证,则不会处理这些属性(Cas20ServiceTicketValidator的方法parseResponseFromServer)

    添加ProxyCallbackUrl时,我从服务器收到一个错误:

    <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
      <cas:authenticationFailure code="INVALID_PROXY_CALLBACK">
         L'url de rappel du proxy  http://localhost:9000/login/cas/proxyreceptor
         n'a pu etre authentifiee.
      </cas:authenticationFailure>
    </cas:serviceResponse>
    
    
    L'url de rappel du proxyhttp://localhost:9000/login/cas/proxyreceptor
    没有权威。
    
    谁能帮我理解一下:

    • 为什么cas服务器不发送代理授权票证
    • 如何使用良好的代理回调Url配置我的客户端

    谢谢您

    CAS服务器文档,关于我认为我不必将我的客户端配置为使用ProxyTicketValidator,因为我的应用程序不是代理,而是CAS的最终客户端。我在中科院,而不是中科院。无论如何,我不明白为什么CAS服务器不向我发送标记proxyGrantingTicket。嗨,这是默认行为,因为代理回调URL需要是HTTPS。