Jasig CAS 未重定向回 .NET MVC 站点

Jasig CAS not redirecting back to .NET MVC site

我有一个 .NET 4.0 MVC 3 站点,当前设置为针对较旧的 3.4.4 Jasig CAS 服务器进行身份验证。我只是尝试更新配置以连接更新的 3.5.1 服务器(该服务器已经使用了一段时间,许多应用程序成功使用了它)。更新配置后,它正确定向到 CAS,我能够成功进行身份验证,但它不会像以前那样重定向回网站。我还注意到它一直在向 URL 添加 renew=true 查询参数,即使我在配置中指定了 renew="false"。知道为什么它在身份验证后不重定向以及为什么它不断添加此参数吗?

旧配置(连接到 3.4.4 CAS 服务器):

<casClientConfig casServerLoginUrl="https://old.example.com:8443/cas/login"
    casServerUrlPrefix="https://old.example.com:8443/cas/"
    serverName="http://wwwtest.example.com/mysite/"
    notAuthorizedUrl="~/Home/NotAuthorized"
    cookiesRequiredUrl="~/Home/CookiesRequired"
    redirectAfterValidation="true"
    gateway="false"
    renew="false"
    singleSignOut="true"
    ticketTimeTolerance="5000"
    ticketValidatorName="Cas20"
    proxyTicketManager="CacheProxyTicketManager"
    serviceTicketManager="CacheServiceTicketManager"
    gatewayStatusCookieName="CasGatewayStatus" />

更新配置(连接到 3.5.1 CAS 服务器):

<casClientConfig
    casServerUrlPrefix="https://new.example.com/cas/"
    casServerLoginUrl="https://new.example.com/cas/login"
    serverName="https://wwwtest.example.com"
    ticketValidatorName="Cas20"
    singleSignOut="true"
    renew="false"
    redirectAfterValidation="true"
    serviceTicketManager="CacheServiceTicketManager" />

我最终发现重定向循环是由于 CAS 服务器和应用程序之间的 TLS 不兼容造成的。较新的 CAS 服务器默认使用更新的 TLS 版本。我更新了我的应用程序以使用相同的协议并且重定向循环停止了。

更多信息:https://github.com/apereo/dotnet-cas-client/issues/72#issuecomment-337612023