搜档网
当前位置:搜档网 › 软件工程-使用CAS实现SSO简洁教程

软件工程-使用CAS实现SSO简洁教程

软件工程-使用CAS实现SSO简洁教程
软件工程-使用CAS实现SSO简洁教程

目录

0. 文档介绍 (2)

0.1文档目的 (2)

0.2文档范围 (2)

0.3读者对象 (2)

0.4参考文献 (2)

0.5术语与缩写解释 (2)

1.概述 (3)

1.1背景 (3)

1.2环境 (3)

1.3下载资源 (3)

2. 配置CAS SERVER (4)

2.1简单配置 (4)

2.2数据库验证配置 (5)

2.3参数配置 (8)

2.4HTTPS验证配置 (10)

2.5自定义页面 (13)

3. 配置JAVA CLIENT (16)

3.1HTTPS验证 (16)

3.2HTTP验证 (18)

4. 配置DOTNET CLIENT (19)

5. 配置PHP CLIENT (23)

6. 如何实现单点注销 (23)

0. 文档介绍

0.1 文档目的

记录使用CAS实现SSO的过程。

0.2 文档范围

使用CAS实现SSO的过程。

0.3 读者对象

任何有兴趣的家伙。

0.4 参考文献

提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:[标识符] 作者,文献名称,出版单位(或归属单位),日期

大部分都是网络上查询的资料,很多,不列举了。

0.5 术语与缩写解释

1.概述

1.1背景

单点登录是必须的,实现方式颇多,这里就说使用CAS的实现方式。使用CAS实现SSO,网络上说明很多,大部分都是从制作证书开始,而实际上是可以不使用HTTPS 验证,这样更方便。

单点登录的原理是通过拦截你设定的URL,并跳转到你指定的CAS SERVER登录页,当你登录成功后,带着TICKET,返回到你打开的URL。然后你就可以一票在手,畅通无阻。

网上有个家伙用旅游的套票来解释单点登录,非常形象。当你到达一个旅游区门口,你可以买一个套票,套票规定你可以游览N个景点,进入这些景点的时候,你不需要再买票,也就实现了单点登录。

同时,也可以借用这个比喻说明一下单点注销。当你打开一个应用A时,单击了注销按钮,跳转到http://hostname:port/cas/logout或者https://hostname:port/cas/logout,系统显示注销成功。此时,IE窗口没有关闭,你继续打开应用A,仍然没有注销成功,不需要登录。这就相当于你已经在旅游景点内,即使你把套票撕毁了,你仍然可以继续参观这个景点,不会把你驱逐出去。但是,你再也进不了其它的景点了。

那么怎么实现立即生效的注销呢?或者这种方式是否就满足我们的需求呢?

1.2环境

Windows XP、JDK1.6.03、Tomcat6.0.20

注意:配置好环境变量。

1.3下载资源

服务器端:https://www.sodocs.net/doc/4c17952132.html,/downloads/cas

当前最新版本是3.3.4,测试安装的版本为3.3.3

cas-server-3.3.3-release.zip

客户端:https://https://www.sodocs.net/doc/4c17952132.html,/svn/cas-clients/

cas-client-2.0.11.zip JAVA支持单点登录

cas-client-3.1.8-release.zip JAVA支持单点注销

dotnet-client DOTNET支持类

phpcas PHP支持

注意:同时要下载源代码,部分功能需要修改源代码,重新做包。

2. 配置CAS SERVER

CAS SERVER目录介绍。

2.1简单配置

把你下载cas-server解压,进入cas-server-3.3\modules,复制cas-server-webapp-3.3.war 到tomcat\webapps下,修改名称为cas.war,方便使用,原来的名字太长了。然后启动IE,输入http://localhost:8080/cas检验是否可以访问,如果可以,则输入相同的用户名和密码,比如cas/cas,测试是否能登录。

如果你对安全性要求不高且急不可待,这个时候就可以直接进行CAS CLIENT的配置。

2.2数据库验证配置

简单配置后,可以使用相同的用户名和密码,进行登录。这个不实际,可以通过配置实现连接自己的数据库进行配置。这里有个前提,就是所有系统需要使用相同的用户表和密码加密方法,可以使用CAS自带的加密方法(\org\jasig\cas\authentication\handler\ DefaultPasswordEncoder.class)或自己用JAVA写的加密方法。

进入目录tomcat\webapps\cas\WEB-INF,打开文件deployerConfigContext.xml,找到类似下面的代码:

注意:cas-server根据版本不同,文件的路径或BEAN位置可能不同,逐个文件夹找下。

class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticat ionHandler" />

这是默认的方法。同时还有两种可选,如下:

/************************************************************************/

abstract="false" lazy-init="default" autowire="default" dependency-check="default">

以上两种方式都经过测试。另外,也可以写出自己的方法验证,修改BEAN的CLASS 属性即可。如果没有密码没有加密,则可以把参数去掉。

下面针对最下面的方法进行说明。

看它的属性,还需要定义两个BEAN,数据源和加密,如下:

-->

class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"

autowire="byName">

由于CAS-SERVER.WAR默认没有采用数据库加密,所以部分JAR包,没有引入,下面这些需要复制到webapps\cas\WEB-INF\lib里面:

Cas-server-support-jdbc-3.3.3.jar

Cas-server-support-ldap-3.3.3.jar

Commons-dbcp.jar

Commons-pool.jar

Org.springframework.jdbc-3.0.0.M4.jar //spring要根据自己的版本选择

Org.springframework.transaction-3.0.0.M4.jar

Sqljdbc.jar //数据库连接JAR,根据自己的复制Oraclejdbc.jar

完成以后,用户表数据准备好后,可以运行http://localhost:8080/cas进行登录测试。这个时候很容易出现错误,多数是因为JAR包问题,注意查看tomcat\logs日志文件,进行检查,问题很容易解决。

2.3参数配置

这里只说明一下我涉及到的参数,可能有更多参数,目前还没有用到。

1、tomcat\webapps\cas\WEB-INF\deployerConfigContext.xml

class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticati onHandler"

p:httpClient-ref="httpClient"/>

增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用,

加上去之后如下:

class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticati onHandler"

p:httpClient-ref="httpClient" p:requireSecure="false"/>

2、Tomcat 6.0\webapps\cas\WEB-INF\spring-configuration\

ticketGrantingTicketCookieGenerator.xml

p:cookieSecure="true"

p:cookieMaxAge="-1"

p:cookieName="CASTGC"

p:cookiePath="/cas" />

参数p:cookieSecure="true",同理为HTTPS验证相关,TRUE为采用HTTPS验证,与deployerConfigContext.xml的参数保持一致。

参数p:cookieMaxAge="-1",简单说是COOKIE的最大生命周期,-1为无生命周期,即只在当前打开的IE窗口有效,IE关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等,意思是在3600秒内,打开任意IE窗口,都不需要验证。

warnCookieGenerator.xml

p:cookieSecure="true"

p:cookieMaxAge="-1"

p:cookieName="CASPRIVACY"

p:cookiePath="/cas" />

两个参数与上面同理。

3、TICKET的生命周期也可以在web.xml加这个参数实现:

edu.yale.its.tp.cas.grantingTimeout

7200

2.4HTTPS验证配置

证书的制作使用keytool工具,进入CMD,输入keytool,回车测试,如果出现帮助,则说明环境变量配置正确,如果没有,则配置PATH,加入%JAVA_HOME%\BIN。

下面开始制作,先找好存放证书的位置:

(1)keytool -genkey -alias tomcatcas -keystore tomcatcas -keyalg RSA -validity 3666 这一步是制作密钥库。

注意:名字与姓氏要输入主机名或域名或localhost,不能随意输入。密码为自己设定。下面的密码直接回车。

(2)keytool -export -alias tomcatcas -keystore tomcatcas -file tomcatcas.crt 这一步是把密钥库导出为证书文件。

注意:密码为上一步设定的密码。

(3)keytool -import -alias tomcatcas -file tomcatcas.crt

-keystore %JAVA_HOME%/jre/lib/security/cacerts 这一步是把证书导入TOMCAT。

后面的路径为TOMCAT使用的JRE路径,JDK1.6安装有两个目录JDK1.6和JRE1.6,TOMCAT6.0只要JRE1.6即可,通常在安装时,也都是默认到JRE1.6,这时要输

入%JRE_HOME%\lib\security\cacerts,这个地方必须要确认准确。

注意:这里需要输入密码,此密码不是前面设定的密码,是系统默认的密码changeit

(4)配置tomcat6.0\conf\server.xml

完成后,可重启TOMCAT,进行测试。

2.5自定义页面

CAS页面文件放在Tomcat 6.0\webapps\cas\WEB-INF\view\jsp中,页面配置文件在

Tomcat 6.0\webapps\cas\WEB-INF\classes中,比如default_views.properties,在这里指定登录用哪个页面,注销用哪个页面等等。

在Tomcat 6.0\webapps\cas\WEB-INF\cas.properties文件指定使用哪个皮肤页面。

下面开始操作:

1、进入Tomcat 6.0\webapps\cas\WEB-INF\view\jsp,复制default文件夹,并改名,再复制回来,如myth。

2、进入Tomcat 6.0\webapps\cas\WEB-INF\classes,复制default_views.properties,并改名再复制回来,如myth_views.properties。打开文件,把里面的目录..\jsp\default\ui修改为自己的路径,如..\jsp\myth\ui。

3、进入Tomcat 6.0\webapps\cas\WEB-INF,打开cas.properties文件,修改

cas.viewResolver.basename=myth_views 完成以上3步后,打开IE,进入http://localhost:8080/cas进行测试,如果成功则进行下一步。

注意:文件中logout使用的类。

4、修改页面样式

最后一点说明,Tomcat 6.0\webapps\cas\WEB-INF\cas-server.xml中,有个BEAN:

p:order="0">

${cas.viewResolver.basename}

protocol_views

这个不要修改,否则出现http code 500 for url 。

3. 配置JAVA CLIENT

3.1HTTPS验证

1、把casclient.jar、cas-client-3.1.8.jar复制到你的jsp工程的WEB-INF\lib里;

2、修改web.xml,增加下面的代码:

org.jasig.cas.client.session.SingleSignOutHttpSessionListener

CAS Single Sign Out Filter

org.jasig.cas.client.session.SingleSignOutFilter

CAS Filter

edu.yale.its.tp.cas.client.filter.CASFilter

edu.yale.its.tp.cas.client.filter.loginUrl

https://www.sodocs.net/doc/4c17952132.html,:8080/cas/login

edu.yale.its.tp.cas.client.filter.validateUrl

https://www.sodocs.net/doc/4c17952132.html,:8080/cas/serviceValidate

edu.yale.its.tp.cas.client.filter.serverName

localhost:8080

CAS Single Sign Out Filter

/*

CAS Filter

/*

3、在页面获得验证返回的用户

用户可以通过以下方式,从JSP或servlet中获取通过认证的用户名:

String username =

(String)session.getAttribute(edu.yale.its.tp.cas.client.filter.CASFilter.CAS_FILTER_USER);

获得更完整的受认证用户信息对象CASReceipt Java Bean,可以使用以下语句:CASReceipt receipt =

(CASReceipt )session.getAttribute(edu.yale.its.tp.cas.client.filter.CASFilter.CAS_FILTER_R ECEIPT);

完成以上后,进行测试。出现错误时,请查看tomcat\logs文件解决。

3.2HTTP验证

1、修改casclient.jar中文件,如图:

2、重新做jar包,复制到工程目录

完成后,做好测试。登录成功后的样子,如下图:

4. 配置DOTNET CLIENT

1、把DotNetCasClient.cs复制到DotNet项目

2、新建loginPage.aspx,Page_Load加入代码DotNetCASClient.DotNetCASClientServiceValidate client = new

CAS_SSO单点登录实例详细步骤

CAS SSO单点登录实例详细步骤 原创作者:孙俊财

第一步 1、用keytool生成证书: 命令: keytool -genkey -alias sjc -keyalg RSA -keysto re c:/store/mykey 说明: 这里-alias sjc 是表示生成的这个证书的别名叫sjc,-keyalg RSA 指的是采用的RSA算法,-keystore c:/store/mykey是指生成的证书存储的位置。回车后会提示你输入keystore password,这可以自己定(这里输入sunjuncai,下面配tomcat时要用的),然后是一些个人信息及组织信息,可以轻松搞定。 注意:密码输入后,会让你输入其他信息,记得这里第一个姓名必须是服务器的域名这里我输入的是完整计算机名称:gaofeng.nmc.hamcc 这里要注意如果不这样写就会报如下异常: java.io.IOException: HTTPS hostname wrong: should be 实战: C:\Documents and Settings\wangyoushi8>keytool -genkey -alias sjc -keyalg RSA -keystore c:/store/mykey 输入keystore密码:sunjuncai

您的名字与姓氏是什么? [Unknown]:gaofeng.nmc.hamcc 您的组织单位名称是什么? [Unknown]:上海神洲数港 您的组织名称是什么? [Unknown]:网络优化 您所在的城市或区域名称是什么? [Unknown]:郑州 您所在的州或省份名称是什么? [Unknown]:河南 该单位的两字母国家代码是什么 [Unknown]:ZH CN= gaofeng.nmc.hamcc, OU=上海神洲数港, O=网络优化, L=郑州, ST=河南, C=ZH 正确吗? [否]:y 输入的主密码 (如果和keystore 密码相同,按回车): 2、创建证书后,就导出证书: 命令: keytool -export -file c:/store/server.crt -alias sjc -keystore c:/store/mykey 说明: 从c:/store/mykey里取出证书入到c:/store/下,如果没有指定,就是存放在目录下C:\Documents and Settings\用户目录名\ 实战: C:\Documents and Settings\wangyoushi8>keytool -export -file c:/store/server.crt -alias sjc -keystore C:/store/mykey 输入keystore密码:sunjuncai 保存在文件中的认证 3、为客户端的JVM导入密钥: 命令: keytool -import -keystore D:/jdk1.5.0_12/jre/lib/security/cacerts -file c:/store/server.crt -alias sjc 说明: 注意:输入密码时密码为"changeit",这是默认密码. 特别说明:这个D:/jdk1.5.0_12/jre/lib/security/cacerts是指JDK的JRE路径下的lib目录. 至此,第一步完成。 实战: C:\Documents and Settings\wangyoushi8> keytool -import -keystore D:/jdk1.5.0_12/jre/lib/security/cacerts -file c:/store/server.crt -alias sjc 输入keystore密码:changeit

简单的单点登录实现过程及效果展示

一、实现过程 从用到的jar包文件夹的cas-server-3.3.1modules中找出cas.war放到tomcat/webapps下面(cas-server-webapp-3.3.1.war重命名即可)。 现在cas默认的server端已经有了,下面自己写2个客户端测试一下 MyEclipse里面新建web project:sso 新建类HelloWorldExample package servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public final class HelloWorldExample extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html");

PrintWriter writer = response.getWriter(); writer.println(""); writer.println(""); writer.println("Sample Application Servlet Page"); writer.println(""); writer.println(""); writer.println("

"); writer.println(""); writer.println(""); writer.println(""); writer.println(""); writer.println("
"); writer.println(""); writer.println(""); writer.println("

Sample Application Servlet

"); writer.println("This is the output of a servlet that is part of"); writer.println("the Hello, World application."); writer.println("
");

安装工程造价课程教学大纲

《安装工程造价》课程教学大纲 课程的性质与任务 本课程是江苏广播电视大学建筑工程造价专业的主要专业课之一。它的任务是:使学生具备从事建筑安装工程施工图预算所必需的基本知识、基本技能,成为建筑工程造价专业的高素质劳动者和专门人材。 一、课程教学目标 通过课程理论和实践的学习,使学生达到以下基本要求: 1、熟悉安装工程预算定额的组成,作用,掌握其使用方法; 2、具有识、读建筑电气工程图、给排水采暖工程图、通风空调工程图及其他安装工程图的能力; 3、掌握工程量计算规则,能够熟练的根据施工图计算工程量; 4、能够正确地套用预算定额和费用定额并计算单位工程的预算造价; 5、按国家关于预算工作的有关规定,培养学生实事求是,严肃认真的科学态度与工作作风,树立良好的职业道德观。 二、教学内容和要求 A 基础模块 (一)建设工程定额概论 1、教学内容:建设工程定额的分类和意义,预算定额,安装工程预算定额,单位估价表,江苏省安装工程计价表 2、教学要求: (1)了解基本建设,基本建设定额,基本建设概预算; (2)掌握材料预算价格; (3)掌握预算定额的定义;了解其特点和组成; (4)介绍江苏省安装工程计价表 (5)熟悉安装工程各册预算定额的应用范围。

(二)安装工程预算概论 1、教学内容:预算费用的组成;施工图预算;安装工程施工图;安装工程量的计算;安装工程的工程量清单计价;安装工程预算的编制;建设工程竣工结算。施工图预算与竣工结算的审核。 2、教学要求: (1)了解国家关于建筑安装工程费用项目组成的规定; (2)熟悉施工图预算费用的组成; (3)掌握施工图预算的定义,熟悉预算所需资料; (4)熟悉工程量的意义、计算原则和计算方法;工程量清单计价; (5)了解预算的编制规律和注意事项; (6) 熟悉竣工结算的基本方法。 (三)电气安装工程预算 1、教学内容:电气安装预算定额的适用范围、组成及使用要点。电气安装工程量的计算方法;定额基价的调整方法;电气安装预算的编制程序。费用定额的使用方法;工程量清单计价;预算软件的使用方法。 2、教学要求: ( 1)熟悉电气设备安装工程施工图; ( 2)掌握电气设备安装工程预算定额的使用; ( 3)掌握电气设备安装工程工程量计算规则; ( 4)掌握定额基价的调整方法; ( 5 )了解费用定额的使用方法;预算软件的使用方法。 ( 6 )熟悉施工图预算的编制程序和预算书的组成, (四)给排水、采暖工程预算 1、教学内容:给排水安装预算定额的适用范围、组成及使用要点。给排水安装工程量的计算方法;定额基价的调整方法;给排水安装预算的编制程序。费用定额的使用方法;工程量清单计价;预算软件的使用方法。

CAS单点登录配置全过程

CAS配置全过程 软件工具: 1.cas-server-3.3.5-release.zip(CAS服务端) 2.cas-client- 3.1.10-release.zip(CAS客户端) 3.apache-tomcat-7.0.40 https://www.sodocs.net/doc/4c17952132.html,mons-dbcp-all-1.3-r699049.jar 5.mysql-connector-java-5.1.18-bin.jar 6.cas-server-jdbc-3.0.5-rc2.jar 写在前面的话 此配置是根据当前系统,当前的版本,仅供参考,如果有什么其他的问题可以一起研究。 第一节:先走通技术障碍 第一步:环境部署 1.在Tomcat 根目录下创建一个cas目录。 2.下载CAS服务器并解压,打开cas-server- 3.3.5\modules,将cas-server-webapp-3.3.5.war复制到刚刚在Tomcat创建的cas目录下,并重命名为ROOT.war 3.修改host文件(C:\Windows\System32\drivers\etc)添加 127.0.0.1 https://www.sodocs.net/doc/4c17952132.html, 注意:如果想在一台PC机上模拟这个单点登录,就必须域名重定向,如果是多台PC机,

可以不配置此项,下文有用到https://www.sodocs.net/doc/4c17952132.html,,可以用相应PC机的IP代替 4.修改Tomcat文件下的server.xml(apache-tomcat-7.0.40\conf\server.xml) 添加内容: 5.启动Tomcat服务,查看信息,(如果有报错,可以根据信息查找错误),打开浏览器,输入https://www.sodocs.net/doc/4c17952132.html,:8080如果出现以下界面,则CAS服务端配置成功。 注:这个是最简单的CAS服务,只要输入的用户名跟密码一样,就可以正常登陆,在我们实际开发中,这个验证因为跟数据库作比较,接下来,我们就配置数据库校验。 第二步:配置数据库验证 1.打开deployerConfigContext.xml,在apache-tomcat-7.0.40\cas\ROOT\WEB-INF目录下,找到如下代码: 添加下面代码: 2.增加数据源dataSource, 在deployerConfigContext.xml,(跟上面同一个文件)找到 ,在下面添

CAS单点登录

CAS单点登录总结 一、服务端搭建 1.安装JDK。 2.安装Tomcat。安装版本Tomcat7.0. 3.在Tomcat上配置SSl (1)生成证书。在C盘根目录下建立子文件夹“Keys”,用于存放证书。在 JDK安装文件夹下的bin文件夹(C:\Program Files\Java\jre1.8.0_60\bin)下打开“命令窗口”。 (2)执行命令“keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore c:\keys\.keystore -validity 3600”创建证书。 (3)将证书导入的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” 4、配置server.xml文件 用文本编辑器管理员身份运行,打开Tomcat7.0下的server.xml文件(C:\Program

CAS认证实现单点登录

CAS认证实现单点登录 一.背景 有几个相对独立的java的web应用系统,各自有自己的登陆验证功能,用户在使用不同的系统的时候,需要登陆不同的系统。现在需要提供一个 统一的登陆/登出界面,而不修改各个系统原来的登陆验证机制。于是采用单点登录系统开源单点登录产品CAS。 随着新的业务网站不断的增加,用户在每个应用系统中都有独立的账号,这样就造成在访问不同的应用系统时,需要记录对应的用户名和密码,多 个用户名密码极易记混,如果忘记或记错了某一个业务网站的用户名或密码就无法进行登录,耽误工作,影响工作效率 允许用户一次性进行认证之后,就访问系统中不同的应用 二.原理 CAS 是一个独立的web 应用, 当前使用Java Servlets 实现,通过HTTPS 协议保证其数据的传输安全性。它通过三个Url 地址进行访问:登录Url、验证URL、注销URL。

三. CAS认证集成 要使用单点登录,需要部署CAS系统,CAS服务端可以直接部署在tomcat下运行,对于CAS服务端来说,所有要集成单点登录的web应用都是它的一个客户端,CAS有客户端jar包,客户端web应用需要引入CAS客户端的jar包,这样CAS系统的服务端和客户端web应用程序端才能通信。 客户端web应用程序的通过配置web.xml,添加CAS需要的各种过滤器,来实现和CAS服务器通信,用户信息验证工作在CAS 服务端统一完成,验证通过后,客户端web应用程序只需要补全自己的Session信息即可。 3.1部署CAS系统服务端 步骤1:准备好以下运行环境 jdk1.6+

tomcat6+ jdk与tomcat的下载、安装、配置在此略过。 步骤2:安装部署cas-server 到官网(https://www.sodocs.net/doc/4c17952132.html,/cas/cas-server-3.5.0-release.zip)下载cas-server-3.5.0-release.zip。解压缩以后,在其路 径 cas-server-3.5.0\modules 下面找到 cas-server-webapp-3.5.0.war,将其拷贝到 tomcat 的webapps 下,改名为 cas.war, 并修改 war 包中配置文件 cas.properties 里的 cas server name=cas 并启动 tomcat,启动后可在浏览器访 问 http://localhost:8080/cas/login

CAS实现单点登录(SSO)经典完整教程

一、简介 1、cas是有耶鲁大学研发的单点登录服务器 2、本教材所用环境 ?Tomcat7.2 ?JDK6 ?CAS Service 版本 cas-server-3.4.8-release ?CAS Client版本 cas-client-3.2.1-release 二、生成证书 证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了 JDK自带的证书生成工具keytool。当然在实际项目中你可以到专门的证书认证中心购买证书。 中文官方网站:https://www.sodocs.net/doc/4c17952132.html,/cn/ 1、用JDK自带的keytool生成证书 view plain 1.命令:keytool -genkey -alias smalllove -keyalg RSA -keystore D:/keys/smallkey 此命令是生成一个证书,其中smalllove 是证书别名 此命令的执行如图所示:

其中名字与姓氏这一最好写你的域名,如果在单击测试你可以在C:\Windows\System32\drivers\etc\hosts文件中映射一个虚拟域名,注意不要写IP。 2、导出证书 view plain

1.命令:C:\>keytool -export -file d:/keys/small.crt -alias smalllove -keystore d:/keys/smallkey 如图: 密码为上步设置的密码。 3、把证书导入到客户端JDK中。 view plain 1.命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove 此命令是把证书导入到JDK中。 如图:

2《安装工程计量与计价》课程教案

教案 课程名称:安装工程计量与计价 课程类型:□理论课□√理论、实践课□实践课 学时:80学分:4 授课教师:潘雯 授课班级:11造价1、2、3、4班 授课学期:20 12至20 13学年第 2 学期 教材名称:安装工程计量与计价(第六版) 参考资料:1.安装工程计量与计价编制指导 2.安装工程计量与计价答疑解惑与 经验技巧 3.安装工程计量与计价第五版 2013年3 月1 日

附:教案首页格式(背面) 教案编制说明 一、教师上课前必须写出所授课程的教案,不能无教案或借他人教案进行授课;授课教案应根据专业技术领域发展、教学要求变化、学生实际水平,以及教师以往教学的课后小结、批注等进行补充、修改或重写,以保持教学内容的先进性和适用性,不得使用未经任何补充、修改的陈旧教案进行授课。 二、实践教学的教案与理论教学的教案分开编写;对于公共课,难课、新课,提倡由教研室组织进行集体备课;公共课教案主体(教学目的和要求,教学进度,重点难点内容,教学内容及过程等)应相同。 三、教案编写要求内容简明、条理清楚、教学目的明确、教学内容设置合理、重点难点清晰。 四、教案应采用统一格式书写或打印(建议使用A4纸),不同专业的授课教案可有自己的特色,但应包含教案基本内容。教案必须含首页,与各单元教案形成一个整体。参考格式见附件。 五、提倡教师利用计算机进行教案编写,与教学过程中的手写批注相结合,形成不同时期,不同版本(注意分别存盘和存档)的教案。 六、妥善保存各阶段的教案,并配合好学院的教学检查和归档等工作。

附件:教学单元教案格式 安装工程计量与计价课程教案

安装工程计量与计价课程教案

CAS单点登录配置全过程

CAS配置全过程 说明:这里只是简单的配置了CAS单点登录的过程,并没有加入复杂的验证,也没有做MD5的校验。输入数据库中存在的用户名跟密码就会登录成功 一. 首先需要下载cas-server-3.4.2-release.zip包,这个包里面包含CAS Server服务器的war包。解压之后放到找到cas-server-3.4.2\modules 下的 cas-server-webapp-3.4.2.war , 拷tomcat\webapps\下并改名为cas.war。 启动tomcat后会在webapps下看到cas文件,然后停止tomcat. 二. 配置tomcat以及修改cas server的配置 1.生成证书并导入到jdk的jre中 请直接运行附件中的.bat文件会自动把证书生成在D盘根目录下并导入到jre 中 这是bat脚本内容 keytool -genkey -alias tomcatgecko -keyalg RSA -keystore d:\mykeystore -dname "CN=gecko-4d4611f2e, OU=gecko-4d4611f2e, O=gecko-4d4611f2e, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit keytool -export -alias tomcatgecko -keystore d:\mykeystore -file d:\mycerts.crt -storepass changeit keytool -import -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -file d:\mycerts.crt -alias tomcatgecko 这里要注意:证书是要导入到tomcat使用的jdk。不然CAS在跳转时会找不到本地域名脚本中红色的部分是写自己的计算机名称

CAS单点登录系统实操指南

CAS单点登录系统实操指南 CAS单点登录系统实操指南 (1) 1. CAS单点登录介绍 (3) 1.1. 什么是单点登录 (3) 1.2. 什么是CAS (3) 2. CAS服务端部署及配置 (5) 2.1. 基础部署配置 (5) 2.2. 去除https认证 (7) 2.3. 登录数据源设置 (8) 2.3.1 密码未加密处理 (8) 2.3.2 密码MD5加密配置 (9) 2.4. 登录页面的极简改造 (10) 3. CAS客户端搭建 (11) 3.1. 搭建工程并添加依赖 (11) 3.2. 单点登录配置 (12) 3.3. 单点登出配置 (14) 3.3.1 未重定向登出 (14) 3.3.2 重定向地址登出 (15) 3.4. 获取登录用户信息配置 (15) 4. CAS客户端与SpringSecurity集成 (16) 4.1. 搭建工程并添加依赖 (16)

4.2. 修改和创建配置文件 (18) 4.3. 创建Spring-security认证脚本 (22) 4.4. 获取登录名 (22)

1. CAS单点登录介绍 1.1. 什么是单点登录 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。 1.2. 什么是CAS CAS 是Yale 大学发起的一个开源项目,旨在为Web 应用系统提供一种可靠的单点登录方法,CAS 在2004 年12 月正式成为JA-SIG 的一个项目。CAS 具有以下特点:

单点登录_尚学堂CAS讲义

一.SSO (Single Sign-on)原理 SSO 分为Web-SSO和桌面SSO。桌面SSO 体现在操作系统级别上。Web-SSO体现在客户端,主要特点是:SSO 应用之间使用Web 协议( 如HTTPS) ,并且只有一个登录入口。我们所讲的SSO,指Web SSO 。 SSO 的体系中,有下面三种角色: ?User(多个) ?Web应用(多个) ?SSO认证中心(一个) SSO 实现模式千奇百怪,但万变不离其宗,包含以下三个原则: ●所有的登录都在 SSO 认证中心进行。 ●SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的 用户。 ●SSO 认证中心和所有的 Web 应用建立一种信任关系。 二.CAS 的基本原理 CAS(Central Authentication Service) 是Yale 大学发起的构建Web SSO 的Java开源项目。 1.CAS 的结构体系 ◆CAS Server CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名/ 密码等凭证(Credentials) 。 ◆CAS Client CAS Client部署在客户端,当有对本地Web 应用受保护资源的访问请求,并且需要对请求方进行身份认证,重定向到CAS Server 进行认证。 2.CAS 协议 基础协议

上图是一个基础的CAS 协议,CAS Client 以过滤器的方式保护Web 应用的受保护资源,过滤从客户端过来的每一个Web 请求,同时,CAS Client 会分析HTTP 请求中是否包请求Service Ticket( 上图中的Ticket) ,如果没有,则说明该用户是没有经过认证的,CAS Client 会重定向用户请求到CAS Server (Step 2 )。Step 3 是用户认证过程,如果用户提供了正确的认证信息,CAS Server 会产生一个随机的Service Ticket ,会向User 发送一个Ticket granting cookie (TGC) 给User 的浏览器,并且重定向用户到CAS Client (附带刚才产生的Service Ticket),Step 5 和Step6 是CAS Client 和CAS Server 之间完成了一个对用户的身份核实,用Ticket 查到Username ,认证通过。 3.CAS 如何实现SSO 当用户访问Helloservice2再次被重定向到CAS Server 的时候,CAS Server 会主动获到这个TGC cookie ,然后做下面的事情: 1)如果User 的持有TGC 且其还没失效,那么就走基础协议图的Step4 ,达到了 SSO 的效果。 2)如果TGC 失效,那么用户还是要重新认证( 走基础协议图的Step3) 。 三.实践配置 下面我们以tomcat 5.5 为例进行说明(这里,我将Server和Client同时放在了同一个Tomcat服务器下)。 软件环境:tomcat 5.5 ant-1.6.5, jdk1.5.0_06 下载cas-server-3.0.4.zip和cas-client和cas-server-jdbc-3.0.5-rc2.jar和mysql 5.0.16和tomcat 5.5.15 https://www.sodocs.net/doc/4c17952132.html,/downloads/cas/cas-server-3.0.4.zip

工程造价自学教程《入门到大师》

工程预算手算的顺序 一、三线一面: 一、外墙中心线:其作用可以计算: 1、外墙的体积={(外墙的中心线*外墙的高度)—门窗洞口面积}*墙的厚度 2、外墙上的圈梁混凝土体积=外墙的中心线*外墙圈梁的高度*外墙圈梁的宽度 外墙上圈梁的模板面积=外墙的中心线*外墙圈梁的高度*2面 3、外墙上的过梁混凝土体积=外墙的中心线*外墙过梁的高度*外墙过梁的宽度 外墙上过梁的模板面积=外墙的中心线*外墙过梁的高度*2面 4、外墙下的基础体积=外墙的中心线*基础的断面积(如是混凝土构件应计算体积、模板面积) 二、外墙外边线:其作用可以计算: 1、外墙装修工程量:=(外墙长*外墙高)-门窗洞口的面积(如外墙装修为贴墙和做保温时外墙的面积需要量加上洞口的侧壁面积,其它的外装修不需考虑) 2、外墙的脚手架面积=外墙长*外墙高(外墙高=室外地坪的高至房屋的檐口高度) 3、散水面积=(外墙外边线+4*散水宽)*散水宽 4、散水、台阶、坡道全部按投影面积计算 三、内墙的净长线:其作用可以计算: 1、内墙的体积=内墙净长线*内墙的断面积-门洞口的面积*墙的厚度(内墙的断面积=内墙的高度*内墙的厚度) 2、内墙的圈、过梁混凝土体积=内墙净长线*内墙圈梁的断面积 (内墙圈梁的断面积=内墙圈梁的高度*内墙圈梁的厚度)

内墙的圈、过梁模板面积=内墙净长线*内墙圈梁的高度*2面(如果是框架结构中的梁模板面积=内墙净长线*内墙圈梁的高度*2面+内墙净长线*梁的宽度) 为什么砖混结构与框架结构的梁模板计算不一样呢??? 因为:砖混结构是先砌墙后浇筑柱、梁、板 框架结构是先浇柱、梁、板等后砌墙 3、房间的装修工程量的计算(房间内的地面、墙面、天棚面积)=内墙的净长*内墙的高度(高度=层高-板的厚度) 四、建筑面积=首层的面积+二---------顶层的面积+机房层面积 (其中:机房层计算建筑面积但不计算层数) 首层建筑面积=平整场地=基础钎探 平整场地:是为了考虑工程在测量放线时方便才给考虑的 基础钎探:目的是为了检查基底的土质是否均匀密实。 建筑面积的计算=房屋外围的面积(如外墙有保温应计算至外保温的外边线) 五、室内一层地面装修时的素土垫层=地面的净面积*素土垫层的厚度(素土垫层的厚度=室内的高差----地面的垫层及面层的厚度) 六、混凝土独立基础的垫层计算: 1、混凝土垫层体积=垫层底面积*垫层的厚度 混凝土垫层模板面积=(垫层的长+垫层的宽)*2*垫层的厚度 2、独立基础的体积=独基各个台阶的体积之和 独立基础模板面积=各个台阶的独基周长*高度 七、混凝土基础梁的计算:

CAS3.5.2单点登录详解

服务端cas: 从网上下载cas:https://www.sodocs.net/doc/4c17952132.html,/ 在cas下: 在cas-client下: 解压cas-server-3.5.2-release.zip\cas-server-3.5.2\module\cas-server-webapp-3.5.2.war部署到tomcat上, 设置 F:\apache-tomcat-6.0.30\webapps\cas\WEB-INF\cas-servlet.xml(大家取实际情况的路径) 默认为false,这个设置是为了让登出(logout)以后进入到指定页面. 设置deployerConfigContext.xml 配置数据源和加密: oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@127.0.0.1:1521:orcl require require 然后注释掉下面这行,这行是为了测试使用,只要账号密码相同就可以通过验证

CAS 单点登录操作文档

这人CAS 在 Tomcat 中实现单点登录 1证书生成及导入 1.1Server端证书配置 1.2 JAVA信任证书库 D:\Program Files\Java\jdk1.5.0\jre\lib\security\cacerts cacerts证书库默认密码-storepass changeit 查看证书 1.1.1.2 keytool -list -keystore cacerts -storepass changeit 如果存在则删除 1.1.1.1 keytool -delete -alias tomcatsso -keystore cacerts -storepass changeit 创建证书库 1.1.1.3 keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=https://www.sodocs.net/doc/4c17952132.html," -keystore server.keystore -storepass 12345678 导出证书 1.1.1.4 keytool -export -alias tomcatsso -file tomcatsso.crt -keystore server.keystore -storepass 12345678 加入JAVA信任证书库 1.1.1.5 keytool -import -alias tomcatsso -file tomcatsso.crt -keystore ../jre/lib/security/cacerts -storepass changeit 说明:在生成key的过程,"cn=https://www.sodocs.net/doc/4c17952132.html," 中的https://www.sodocs.net/doc/4c17952132.html,为Server端的域名(必填)。 1.2.1TOMCAT 配置SSL支持

软件工程-使用CAS实现SSO简洁教程

目录 0. 文档介绍 (2) 0.1文档目的 (2) 0.2文档范围 (2) 0.3读者对象 (2) 0.4参考文献 (2) 0.5术语与缩写解释 (2) 1.概述 (3) 1.1背景 (3) 1.2环境 (3) 1.3下载资源 (3) 2. 配置CAS SERVER (4) 2.1简单配置 (4) 2.2数据库验证配置 (5) 2.3参数配置 (8) 2.4HTTPS验证配置 (10) 2.5自定义页面 (13) 3. 配置JAVA CLIENT (16) 3.1HTTPS验证 (16) 3.2HTTP验证 (18) 4. 配置DOTNET CLIENT (19) 5. 配置PHP CLIENT (23) 6. 如何实现单点注销 (23)

0. 文档介绍 0.1 文档目的 记录使用CAS实现SSO的过程。 0.2 文档范围 使用CAS实现SSO的过程。 0.3 读者对象 任何有兴趣的家伙。 0.4 参考文献 提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:[标识符] 作者,文献名称,出版单位(或归属单位),日期 大部分都是网络上查询的资料,很多,不列举了。 0.5 术语与缩写解释

1.概述 1.1背景 单点登录是必须的,实现方式颇多,这里就说使用CAS的实现方式。使用CAS实现SSO,网络上说明很多,大部分都是从制作证书开始,而实际上是可以不使用HTTPS 验证,这样更方便。 单点登录的原理是通过拦截你设定的URL,并跳转到你指定的CAS SERVER登录页,当你登录成功后,带着TICKET,返回到你打开的URL。然后你就可以一票在手,畅通无阻。 网上有个家伙用旅游的套票来解释单点登录,非常形象。当你到达一个旅游区门口,你可以买一个套票,套票规定你可以游览N个景点,进入这些景点的时候,你不需要再买票,也就实现了单点登录。 同时,也可以借用这个比喻说明一下单点注销。当你打开一个应用A时,单击了注销按钮,跳转到http://hostname:port/cas/logout或者https://hostname:port/cas/logout,系统显示注销成功。此时,IE窗口没有关闭,你继续打开应用A,仍然没有注销成功,不需要登录。这就相当于你已经在旅游景点内,即使你把套票撕毁了,你仍然可以继续参观这个景点,不会把你驱逐出去。但是,你再也进不了其它的景点了。 那么怎么实现立即生效的注销呢?或者这种方式是否就满足我们的需求呢? 1.2环境 Windows XP、JDK1.6.03、Tomcat6.0.20 注意:配置好环境变量。 1.3下载资源 服务器端:https://www.sodocs.net/doc/4c17952132.html,/downloads/cas 当前最新版本是3.3.4,测试安装的版本为3.3.3 cas-server-3.3.3-release.zip 客户端:https://https://www.sodocs.net/doc/4c17952132.html,/svn/cas-clients/ cas-client-2.0.11.zip JAVA支持单点登录 cas-client-3.1.8-release.zip JAVA支持单点注销 dotnet-client DOTNET支持类 phpcas PHP支持

安装工程概预算教程

灯具安装工程施工图预算(定额计价)编制程序实例 第一步:工程量计算 园形吸顶灯10套,双管吸顶日光灯20套 第二步:套用定额子目 园形吸顶灯套定额子目C2-1368 ,双管吸顶日光灯套定额子目C2-1581 第三步:计算人工、材料、机械台班的消耗量 ⒈园形吸顶灯:人工:1.9工日;成套灯具(吸顶灯):10.1套;塑料绝缘线BV-1.5㎜2:3.05 m;伞形螺栓M6-8×150:20.4套;木螺栓φ2-4×6-65:5.2套;其它材料费:3.36元。 ⒉双管日光灯:人工:2×2.4=4.8工日;成套灯具(双管日光灯):2×10.1=20.2套;塑料绝缘线BV-1.5㎜2:2×7.13=14.26m;伞形螺栓M6-8×150:20.4×2=40.8套;其它材料费:2×1.37=2.78元。 第四步:人工、材料、机械台班汇总 人工:1.9+4.8=6.7工日; 成套灯具(吸顶灯):10.1套; 成套灯具(双管日光灯):2×10.1=20.2套; 塑料绝缘线BV-1.5㎜2:3.05 +14.26=17.31m; 伞形螺栓M6-8×150:20.4+40.8=60.12套; 木螺栓φ2-4×6-65:5.2套; 其它材料费:3.36+2.78=6.14元。

第五步、确定人工、材料、机械台班价格 人工:50元/工日; 成套灯具(吸顶灯):50元/套; 成套灯具(双管日光灯):60元/套; 塑料绝缘线BV-1.5㎜2:1.93元/m; 伞形螺栓M6-8×150:6.12元/套; 木螺栓φ2-4×6-65:0.13元/10套; 其它材料费:3.36+2.78=6.14元。 第六步:计算直接费 人工费:6.7×50=335元; 材料费:10.1×50+20.2×60+17.31×1.93+60.12×6.12+0.052×0.13+6.14=2124.49元 脚手架搭拆费:335×2%=6.7元 直接费:335+2124.49+6.7=2466.19元 第七步:计算费用,汇总造价 计算基数:(335+6.7×0.25)÷50×30=202.01元 一、直接费:2466.19+39.45=2505.64元 其中:冬雨季施工增加费:2466.19×1.6% =39.45元 二、企业管理费:202.01×37.9%=75.56元 三、利润:202.01×39%=78.78元 四、安全文明施工费:202.01×21.26%=42.95元 五、规费:10.81+3.03+94.6+38.18=146.62元 ⒈工程排污费:(2466.19+39.45+75.56+78.78+42.95)×0.4%=10.81元 ⒉职工教育经费:202.01×1.5%=3.03元 ⒊养老保险费:(2466.19+39.45+75.56+78.78+42.95)×3.5%=94.60元 ⒋其它规费:202.01×18.9%=38.18元 六、税金 2505.64+75.56+78.78+42.95+146.63=2849.56元 2849.56×3.461%=98.62元 七、总造价 2849.56+98.62=2947.18元

基于CAS模式的单点登录系统设计与分析

Computer Science and Application 计算机科学与应用, 2019, 9(7), 1434-1440 Published Online July 2019 in Hans. https://www.sodocs.net/doc/4c17952132.html,/journal/csa https://https://www.sodocs.net/doc/4c17952132.html,/10.12677/csa.2019.97161 Design and Analysis of Single Sign on System Based on CAS Mode Xiaowei Xu, Jinlei Wang, Wenfei Jiang, Fengjuan Cui North China Sea Data and Information Service, SOA, Qingdao Shandong Received: Jul. 9th, 2019; accepted: Jul. 22nd, 2019; published: Jul. 29th, 2019 Abstract In order to solve the problem of the integration of the existing business application system of NCS, this paper makes a deep research on the principle of CAS integrated authentication, and designs a single sign on system based on CAS mode. Based on the actual situation of various software systems of NCS, this paper analyzes the problems faced by various systems to achieve single sign-on, propos-es different solutions to these problems, and provides technical route for the integration of business application systems of NCS, so as to realize the construction of single sign-on system of NCS. Keywords CAS Authentication, SSO, System Integration 基于CAS模式的单点登录系统设计与分析 徐晓玮,王金磊,姜雯斐,崔凤娟 国家海洋局北海信息中心,山东青岛 收稿日期:2019年7月9日;录用日期:2019年7月22日;发布日期:2019年7月29日 摘要 针对自然资源部北海局现有业务应用系统整合问题,对CAS集成认证原理进行深入研究,设计搭建了基于CAS模式的单点登录系统。结合北海局各类软件系统的实际情况,分析各类系统实现单点登录所面临的问题,针对这些问题提出不同的解决方案,为北海局业务应用系统的整合集成提供技术路线,以实现北海局单点登录系统的建设。

相关主题