单点登陆singlesignon(sso)
自动登录:
用户在通过浏览器登录某一站点后,在以后的规定时间内访问该站点将自动完成登
录。
通过cookie的方式将客记信息保存在客户机上
在android应用中也可以采取此种方式,在发起http请求的时候带cookie信息
自动登录的实现原理:
在相同域名的情况下:
采用cookie的方式domain=域名
在不同域名的情况下:
中央认证服务器:
cas(centrolauthenticationservice)
服务器端下载地址:http://downloads.jasig.org/cas/
客户端下载地址:http://www.jasig.org/cas/download
使用keytool创建证书:
keytool-genkey-aliastest-keyalgRSA-keystored:/keys/testkey
域名:可以在C:\WINDOWS\system32\drivers\etc\host文件中添加
127.0.0.1cn.yue.com
导出证书:
keytool-export-filed:/keys/test.crt-aliastest-keystored:/keys/testkey
为客户端的JVM导入证书
keytool-import-keystoreC:\Java\jdk1.6.0_10\jre\lib\security\cacerts-fileD:/keys/test.crt-aliastest
C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore
如果提示:
keytool工具java.io.IOException:Keystorewastamperedwith,orpasswordwasincorrect异常的解决办法
可以输入:changeit这处密码
方式二生成证书文件;
keytool-genkey-aliastomcat-keyalgRSA-keystoreC:\Tomcat\GMAE3.0Tomcat\tomcat.keystore
应用证书到web服务器:
<Connectorport="8443"protocol="HTTP/1.1"sslenabled="true"
maxthreads="150"scheme="https"secure="true"
clientauth="false"sslprotocol="TLS"
keystorefile="C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore"keystorepass="密码"/>
下面是服务器的配置:
F:\小工具\javaweb\单点登陆\cas-server-3.5.0-release\cas-server-3.5.0\modules目录下的
cas-server-webapp-3.5.0.war文件放到tomcat\webapps下
用浏览器访问
https://cn.yue.com:8443/cas/login
默认密码:andmin/admin
读取数据库信息验证
修改:deployerConfigContext.xml
在目录:C:\Java\apache-tomcat-6.0.35\webapps\cas\WEB-INF
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>
以上语句只是简单的检查用户名和密码
修改为:
<!--QueryDatabaseAuthenticationHandler提供一个查询接口-->
<beanclass="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<propertyname="dataSource"ref="dataSource"></property>
<propertyname="sql"value="selectpasswordfromtest_userwherelogin_name=?"></property>
<propertyname="passwordEncoder"ref="MD5PasswordEncoder"></property>
</bean>
在最后添加:
<!--adddataSource-->
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<propertyname="url"><value>jdbc:mysql:///test</value></property>
<propertyname="username"><value>root</value></property>
<propertyname="password"><value>root</value></property>
</bean>
<beanid="MD5PasswordEncoder"class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-argindex="0">
<value>MD5</value>
</constructor-arg>
</bean>
添加cas-server-support-jdbc-3.5.0.jar和mysql驱动包到C:\Java\apache-tomcat-6.0.35\webapps\cas\WEB-INF\lib
创建用户表
CREATETABLE`test_user`(
`id`bigint(20)NOTNULLauto_increment,
`email`varchar(255)defaultNULL,
`login_name`varchar(255)NOTNULL,
`name`varchar(255)defaultNULL,
`password`varchar(255)defaultNULL,
PRIMARYKEY(`id`),
UNIQUEKEY`login_name`(`login_name`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
相关推荐
CAS整合LDAP实现单点登录学习笔记 包含所有过程。
CAS整合LDAP实现单点登录学习笔记.pdf
主要包括cas服务器、cas客户端、安全证书、ldap用户认证的配置等等。学习单点登录必备
NULL 博文链接:https://dylanxu.iteye.com/blog/1871341
CAS整合LDAP实现单点登录的原理及部署学习笔记,cas实现单点登录,ldap负责账户管理
文章分类:Java编程 关键字: ja-sig cas sso https 单点登录 统一认证 实验背景: 系统环境: Windows XP | SUN JDK1.6U4 | Tomcat6.0.14 | CAS Server 3.1.1 + CAS Client 2.1.1 主机完整名称: Linly 浏览器: ...
全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...
以二类分类监督学习为例,假设我们已经有了一堆训练数据,每个训练样本可以看作n维空间里的一个点,那么机器学习的目标就是利用统计算法算出一个将这个n维空间分成两个部分(也就是把空间切成两半)的分界面,使得...
Python学习笔记(1)全文共11页,当前为第1页。%s表示由一个字符串来替换,而%d表示由一个整型来替换,另外一个很常用的就是%f,它表示由一个浮点型来替换。 Python学习笔记(1)全文共11页,当前为第1页。 Raw_input():...
小知识点 1 表格 3 Frameset 5 Form/input 8 Map 11 HTML5 12 canvas 12 HTML5废除的标签 13 XML 15 基本语法 15 DTD校验 16 在xml文件中引入dtd文件的两种方式 17 DTD元素和修饰符 17 元素属性列表...
FX2N-1PG为脉冲发生器单元(简称PGU),可以完成一个独立轴的简单定位控制,通过向伺服电机或步进电机的驱动器提供指定数量的脉冲(最大100Kpps)来实现的。 FX2N-1PG是连接FX2N系列PLC的扩展模块,使用FROM/TO指令...
Portal相关标准学习笔记,包括有单点登录SSO,企业服务总线ESB,Portlet开发标准JSR168
本文档包括JAVA/FLEX/数据建模/Database/移动办公/项目管理/单点登录/软件架构/测试等相关性技术。 本文档还在持续维护中,各位可以通过《笔记变更说明》查看升级日志。 在这里声明下,本文档一部分是个人从学习...
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...
包含1undefined和null区别2 普通字符串和new String有什么区别3 js单线程4js运行机制和存储5js垃圾回收机制6听了好多闭包,这次可能最懂7正则前瞻8作者为什么设计原型9函数和对象之间的关系10原型链 可作为笔记和...
本项目为全栈工程师学习笔记,不求最深最好,开源技术搬运工 其他项目:Spring Cloud微服务学习笔记 Spring Boot项目实践 Java体系知识点汇总: : 网站资源链接 S3基本使用事件 数据库隔离等级验证 常用JVM命令...
ACL总结.doc BGP建邻居.doc DHCP.doc EIGRP--单向邻居hello重传+手动汇总.doc EIGRP--通告网关.doc ...单点双向重分布.doc 有类路由的缺点.doc 路由选择.bmp 默认路由设为下一条IP与本地出接口的区别.doc