我在tomcat中部署了CAS cas-server-3.4.12.1-release。然后我在visual studio 2012 ultimate中安装了来自nuget的DotNetCasClient 1.0.1。我在casClientConfig中进行了以下更改。
<casClientConfig
casServerLoginUrl="https://localhost:8443/cas/login"
casServerUrlPrefix="https://localhost:8443/cas"
serverName="https://localhost:44300/Default.aspx"
notAuthorizedUrl="~/NotAuthorized.aspx"
cookiesRequiredUrl="~/CookiesRequired.aspx"
redirectAfterValidation="true"
gateway="false"
renew="false"
singleSignOut="true"
ticketTimeTolerance="5000"
ticketValidatorName="Cas20"
proxyTicketManager="CacheProxyTicketManager"
serviceTicketManager="CacheServiceTicketManager"
gatewayStatusCookieName="CasGatewayStatus"
/>
我还在IIS中为我的Web应用程序项目启用了SSL,为tom启用了tomcat。我还在web.config中的表单身份验证模块中进行了以下更改。
<authentication mode="Forms">
<forms name="myForm" loginUrl="https://localhost:8443/cas/login"
defaultUrl="https://localhost:44300/Default.aspx" cookieless="UseCookies"
slidingExpiration="true" timeout="30"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我从中午开始撞到墙上,我可以进入cas认证登录页面,但登录后我得到了#34;页面没有正确重定向&#34;即使serverName URL更改为
,也会出错https://localhost:44300/Default.aspx?ticket=ST-6-depwZkFolufeJevxaVti-cas
当我将casClientConfig从我的应用程序URL更改为google.com时,它的工作完全正常。
<casClientConfig
casServerLoginUrl="https://localhost:8443/cas/login"
casServerUrlPrefix="https://localhost:8443/cas"
serverName="https://www.google.com"
notAuthorizedUrl="~/NotAuthorized.aspx"
cookiesRequiredUrl="~/CookiesRequired.aspx"
redirectAfterValidation="true"
gateway="false"
renew="false"
singleSignOut="true"
ticketTimeTolerance="5000"
ticketValidatorName="Cas20"
proxyTicketManager="CacheProxyTicketManager"
serviceTicketManager="CacheServiceTicketManager"
gatewayStatusCookieName="CasGatewayStatus"
/>
我错过了任何配置,或者我是以错误的方式做错的。我按照jasig cas网站提供的文档。
答案 0 :(得分:0)
我解决了这个问题。在IIS中启用SSL后,我不得不将证书导入JVM的cacerts。而且,我需要将tomcat的证书添加到IIS。我跟着
https://wiki.jasig.org/display/CASUM/HOWTO+CASifying+ASP.NET+WebApp+-+ExampleWebsite
解决我的问题。