`

单点登录学习笔记一

阅读更多

单点登陆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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics