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


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

    • 第一部分:安装配置 Tomcat
    • 第二部分:安装配置 CAS
    • 第三部分:实现 ASP.NET WebForm Client
    • 第四部分:实现基于数据库的身份验证
    • 第五部分:扩展基于数据库的身份验证
    • 第六部分:自定义登录页面

    软硬件环境

      服务器 客户机
    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 FilesJavajre7in"”进入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 omcat.cer -keystore c:keys.keystore -storepass changeit”将证书导出到Keys文件夹。

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

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

    CAS001015

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

    keytool -list -v -keystore "C:Program FilesJavajre7libsecuritycacerts"

    keytool -delete -trustcacerts -alias tomcat -keystore "C:Program FilesJavajre7libsecuritycacerts" -storepass changeit

    4. 配置server.xml文件。

    以管理员身份运行文字编辑器,打开%TOMCAT_HOME%confserver.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配置成功。

  • 相关阅读:
    76、HTTP如何禁用缓存?如何确认缓存?
    多态与多态性,鸭子类型,内置方法,反射,异常处理
    继承的应用,继承实现原理,super(),多继承的代码规范,组合
    类的装饰器,绑定方法与非绑定方法,继承,继承背景下的属性查找
    面向对象,类与对象,__nit__方法,属性查找,隐藏属性
    xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块
    模块:re,json,pickle,time , datetime,random,猴子补丁
    区分py文件的两种用途,包的介绍和使用,日志模块
    模块的概念、使用,搜索路径与优先级,软件开发的目录规范
    三元表达式,列表、字典、集合生成式,生成器表达式,函数递归,匿名函数,面向过程编程
  • 原文地址:https://www.cnblogs.com/ywcz060/p/4760095.html
Copyright © 2020-2023  润新知