`

单点登录学习笔记一

阅读更多

单点登陆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.jarmysql驱动包到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实现单点登录学习笔记 包含所有过程。

    CAS整合LDAP实现单点登录学习笔记.pdf

    中央认证服务(Central Authentication Service,简称CAS)是一个广泛使用的企业级单点登录(Single Sign-On,简称SSO)解决方案,最初由耶鲁大学的Ja-SIG社区开发。其主要功能是允许用户使用单一的登录凭证访问多个...

    CAS单点登录学习笔记五之CAS服务器数据源

    这篇名为"CAS单点登录学习笔记五之CAS服务器数据源"的博客文章,很可能是作者对CAS服务器配置数据源部分的深入解析。数据源是应用程序连接和操作数据库的关键组件,对于CAS服务器来说,它用于存储和管理用户的认证...

    CAS整合LDAP实现单点登录学习笔记.doc

    单点登录(Single Sign-On, SSO)是一种网络身份验证技术,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。CAS(Central Authentication Service)是基于Java的开源SSO协议实现,由JA-SIG...

    C语言学习笔记 C语言学习笔记

    本“C语言学习笔记”将以上知识点逐一展开,通过实例解析和练习题,帮助读者逐步构建扎实的C语言基础。无论你是初学者还是有经验的开发者,都能从中受益。请解压文件,仔细阅读,祝你在C语言的学习旅程中收获满满。

    C语言学习笔记C语言学习笔记C语言学习笔记

    "C语言学习笔记" 本笔记总结了C语言的基础知识点,包括数据类型、输入输出函数、格式输出函数等。 一、数据类型 C语言的数据类型可以分为四类:基本类型、构造类型、指针类型和空类型。基本类型又可以分为整型、...

    CAS整合LDAP实现单点登录原理及部署

    CAS整合LDAP实现单点登录的原理及部署学习笔记,cas实现单点登录,ldap负责账户管理

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    j2ee学习笔记-j2ee学习笔记

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...

    Go 学习笔记——雨痕

    Go语言,又称Golang,是一种静态类型的编程语言,由Google开发,于2007年首次对外公布,并在2009年进行了...通过本学习笔记的内容,我们可以对Go语言有一个全面而系统的认识,为深入学习和应用Go语言打下坚实的基础。

    吴恩达深度学习笔记(1)+作业.pdf

    吴恩达深度学习笔记(1)+作业.pdf介绍了神经网络的基本概念,包括神经网络的定义、单神经网络、复杂神经网络、神经网络的实现过程等。 2. 深度学习概论 吴恩达深度学习笔记(1)+作业.pdf讲解了深度学习的概论,...

    c++学习笔记精华版

    ### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...

    Go 学习笔记 第四版 pdf

    根据提供的信息,我们可以总结出这份文档是关于Go语言学习笔记的部分内容,主要涵盖了Go语言的基础概念、语法结构、数据类型以及并发模型等关键知识点。以下是对这些知识点的详细解析: ### Go语言概述 Go(也称作...

    perl个人学习笔记

    Perl是一种强大的脚本编程语言,...以上就是Perl学习笔记中涵盖的一些基础概念和操作。继续深入学习,你将能够编写更复杂的Perl脚本,解决各种实际问题。记得实践是学习编程的关键,多做练习,逐步提升你的Perl技能。

    OA项目学习笔记下载

    在OA项目学习笔记中,我们可以探讨以下几个关键知识点: 1. **OA系统概述**:OA系统通常包括工作流管理、文档管理、协同办公、信息门户、报表统计等功能模块。理解这些模块及其相互作用对于OA项目的规划至关重要。 ...

    sketchup8.0学习笔记

    "Sketchup 8.0学习笔记" Sketchup 8.0是一个功能强大且灵活的3D模型设计软件,本笔记记录了Sketchup 8.0的基础操作和技巧,旨在帮助初学者快速掌握Sketchup 8.0的使用。 视图操作: 1. 环绕观察:点击环绕观察...

Global site tag (gtag.js) - Google Analytics