CAS实现SSO单点登录-Net Client客户端的搭建

一、实现 ASP.NET WebForm Client
1、下载.NET CAS client
最新版本的Net CAS Client需要VS2017才可以运行。
下载地址:https://github.com/apereo/dotnet-cas-client
由于电脑上没有安装VS2017,所以只能下载一个以前的版本,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第1张图片
我们选择1.0进行下载,下载完成以后解压,使用VS2010打开。
2、配置 CAS DotNetClient
以管理员身份启动Visual Studio(目的为了随后可以直接将网站发布到IIS),打开“DotNetCasClient.vs2010.sln”解决方案。

(1)项目“DotNetCasProxyDemoApp”暂时用不到,从解决方案中移除。

(2)将“DotNetCasClient”项目中“Properties”文件夹下的“AssemblyInfo.cs”删除,将“AssemblyInfo.cs.tmpl”重命名为“AssemblyInfo.cs”。

(3)打开将“DotNetCasClient”项目中“Properties”文件夹下的“AssemblyInfo.cs”,将所有“$WCREV$”替换成“0”(或其它表示版本的数字)。替换以后如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第2张图片
(4)将“ExampleWebSite”项目设置为启动项。

(5)将“ExampleWebSite”项目根文件夹下的“web.config.sample”重命名为“web.config”
(6)选中“ExampleWebSite”,右键点击,选择”属性页”,然后选择”启动选项”,在服务器服务选择”使用自定义服务器”,配置服务器地址,配置完成以后如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第3张图片

(7)打开“web.config”文件,找到“casClientConfig”节点,将“casServerLoginUrl”属性设置为“http://192.168.1.121:8080/cas/login”,将“casServerUrlPrefix”属性设置为“http://192.168.1.121:8080/cas/”,将“serverName”属性设置为“http://192.168.1.121”。
CAS实现SSO单点登录-Net Client客户端的搭建_第4张图片
说明:”ServerName”属性中的地址是Net Client客户端的地址,本例直接发布到IIS上的,不使用IIS Express,另外也没有使用虚拟目录,所以不存在ExampleWebSite,另外“serverName”属性中网络地址最后不要加“/”。
(8)从“web.config”文件中找到“authentication”节点,将“loginUrl”属性设置为“http://192.168.1.121:8080/cas/login”,将“path”属性设置为“/”,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第5张图片
(9)、配置authorization,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第6张图片
(10)、配置HttpHandler,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第7张图片
(11)、保存全部修改,重新编译解决方案。
3、调试程序
(1)选择项目,调试程序,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第8张图片
(2)单击“Authenticated Users Only”连接,系统自动重定向到CAS登录页面,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第9张图片
(3)、输入账号与密码,点击Login In,跳转到Cas Client,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第10张图片
(4)、点击左上角的”Home”,返回到Default.aspx,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第11张图片

至此,Cas Client授权成功。

4、客户端在整合时碰到的问题
登录成功以后,在Client与Server之间反复跳转,有多重情况可能导致在客户端与服务端反复跳转,具体解决方案如下:
(1)方案一,在web.config中添加配置,配置如下:

其目的为:1、启用会话状态;2、开始asp.net状态服务〔确保会话的持久,不在莫名其妙的失效。〕。
(2)方案二、服务端去除HTTPS有问题
WEB-INF/deployerConfigContext.xml中配置修改不到位,应该从这里写图片描述
修改为下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第12张图片
(3)方案三、web.config的Authentication节点配置不正确,如下图:
CAS实现SSO单点登录-Net Client客户端的搭建_第13张图片
以Net为例,如果有虚拟目录,则配置path为”/ApplicatioName/”,如果没有则配置为”/”

参考:http://www.cnblogs.com/zhenyulu/archive/2013/01/22/2870936.html


这里写图片描述
个人微信公众号,欢迎大家关注。

你可能感兴趣的:(其他)