最近公司的项目需要使用单点登录,用的是耶鲁大学的CAS单点登录,爬了一堆坑,把这次爬坑的经历分享出来,希望可以帮助到广大.NET的程序员。
首先去CAS官网上去下载.net版本的客户端代码。地址:https://apereo.github.io/cas/4.2.x/integration/CAS-Clients.html
官方已经为我们写好的客户端,我们不需要做任何的更改,下载完成之后把项目引入到我们的解决方案里面
引入项目之后我们接下来的工作就是更改Web项目的Web.config文件
在configSections节点下添加 <section name="casClientConfig" type="DotNetCasClient.Configuration.CasClientConfiguration,DotNetCasClient"/>
在configuration节点下添加:
<casClientConfig casServerLoginUrl="http://localhost:8080/cas/login"
casServerUrlPrefix="http://localhost:8080/cas/" serverName="http://localhost:2016"
notAuthorizedUrl="~/NotAuthorized.aspx" cookiesRequiredUrl="~/CookiesRequired.aspx"
redirectAfterValidation="true" gateway="false" renew="false" singleSignOut="true" ticketTimeTolerance="5000" ticketValidatorName="Cas20" proxyTicketManager="CacheProxyTicketManager"
serviceTicketManager="CacheServiceTicketManager" gatewayStatusCookieName="casGatewayStatus"
/>
注:这里面casServerLoginUrl是cas服务端的地址,默认为https由于业务需要我这是http请大家注意;casServerUrlPrefix也是填cas服务端的地址,ServerName是客户端的地址剩下的不用动。
官方网站上有非常详细的配置内容,大家可以直接上官网查看如何配置,其实就是复制粘贴而已,官网都已经给配置好了,我们只需要更改服务端和客户端的地址