• Yale CAS + .net Client 实现 SSO(1)


    由于信息系统集成需要,最近研究了一下CAS。从网上找了不少资料,很多是针对Java平台的,为数不多的针对.net Client的文章往往片面的介绍某个方面,照着去做确会遇到大量的问题,特别是“重定向循环”问题,网上的解决方案多种多样,而且并不能完全解决问题。通过最近几天的摸索,终于调试成功,为此,本系列随笔将详细介绍在ASP.NET中,如何通过CAS实现单点登录(Single Sign On),并针对网上的一些资料进行讨论,并提供本人针对“重定向循环”问题的解决办法。

    软硬件环境

      服务器 客户机
    IP 地址
    • 192.168.0.123
    • 192.168.0.153
    操作系统
    • Windows 2008 x64
    • Windows 7 x64
    软件
    • JDK 7u11 Windows x64
    • Apache Tomcat 7.0.35
    • CAS 3.5.1
    • Visual Studio 2012
    • IIS 7(可选)

    第一部分:安装配置Tomcat

    1. 在服务器上安装JDK。

    CAS001001

    单击“下一步”。

    CAS001002

    单击“下一步”。

    CAS001003

    单击“下一步”。

    CAS001004

    CAS001005

    单击“关闭”。

    2. 在服务器上安装Tomcat。

    CAS001006

    单击“Next”。

    CAS001007

    单击“I Agree”。

    CAS001008

    选择“Full”安装类型,单击“Next”。

    CAS001009

    单击“Next”。

    CAS001010

    单击“Next”。

    CAS001011

    单击“Install”。

    CAS001012

    CAS001013

    单击“Finish”。

    3. 在Tomcat上配置SSL。

    (1)生成证书

    在C盘根目录下建立子文件夹“Keys”,用于存放证书。

    单击“开始 -> 运行",输入“cmd”,单击“确定”启动命令提示符窗口。

    输入“cd "c:\Program Files\Java\jre7\bin"”进入jre7的bin目录下。

    执行命令“keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore c:\keys\.keystore -validity 3600”创建证书。如图:

    CAS001014

    (2)将证书导入的JDK的证书信任库中

    第一步:导出证书。

    执行命令“keytool -export -trustcacerts -alias tomcat -file c:\keys\tomcat.cer -keystore c:\keys\.keystore -storepass changeit”将证书导出到Keys文件夹。

    第二步:将证书导入到JDK证书信任库。

    执行命令“keytool -import -trustcacerts -alias tomcat -file c:\keys\tomcat.cer -keystore "C:\Program Files\Java\jre7\lib\security\cacerts" -storepass changeit”。系统询问是否信任此证书,回答“y”。

    CAS001015

    其他有用keytool命令(列出信任证书库中所有已有证书,删除库中某个证书):

    keytool -list -v -keystore "C:\Program Files\Java\jre7\lib\security\cacerts"

    keytool -delete -trustcacerts -alias tomcat -keystore "C:\Program Files\Java\jre7\lib\security\cacerts" -storepass changeit

    4. 配置server.xml文件。

    以管理员身份运行文字编辑器,打开%TOMCAT_HOME%\conf\server.xml。查找SSL配置并将如下内容插入其中。

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" 
                   maxThreads="150" scheme="https" secure="true" 
                   clientAuth="false" sslProtocol="TLS" 
                   keystoreFile="C:/Keys/.keystore" 
                   keystorePass="changeit" />

    如下图所示:

     CAS001017

    4. 测试Tomcat上SSL是否配置成功。

    (1)重启Tomcat服务。如图,单击“Stop”,然后单击“Start”。

     CAS001016

    (2)打开IE浏览器,分别测试“http://localhost:8080”和“https://localhost:8443/”

    CAS001018

    由于此网站出具的安全证书不是由受信任的证书颁发机构颁发的,因此IE会有警告信息,这里我们直接点击“继续浏览此网站(不推荐)。 ”。

    CAS001019

    如果看到上面的界面,说明Tomcat的SSL配置成功。

    待续...

  • 相关阅读:
    Java实战之03Spring-01Spring概述
    Java实战之02Hibernate-08二级缓存
    Java实战之02Hibernate-07与效率性能相关配置
    css3 移入移出动画
    ng2 搭建本地开发环境
    ng2模板语法/内置指令速查表
    node + npm 命令
    什么是作用域?什么是上下文?浅解
    get? post? put? delete? head? trace? options? http请求方法
    什么是http?
  • 原文地址:https://www.cnblogs.com/zhenyulu/p/2870838.html
Copyright © 2020-2023  润新知