首页 > 代码库 > sso demo mysql ( cas )

sso demo mysql ( cas )

基本配置 参考之前得随笔  http://www.cnblogs.com/rocky-fang/p/5354947.html

1. tomcat-cas 修改配置

  1.1 在D:\test\sso\tomcat-cas\webapps\cas\WEB-INF下 找到deployerConfigContext.xml ,修改如下:

注释掉

    <!--    <bean id="primaryAuthenticationHandler"          class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">        <property name="users">            <map>                <entry key="casuser" value="http://www.mamicode.com/Mellon"/>            </map>        </property>    </bean>        -->

增加

<bean id="dataSource"     class="com.mchange.v2.c3p0.ComboPooledDataSource"     p:driverClass="com.mysql.jdbc.Driver"     p:jdbcUrl="jdbc:mysql://127.0.0.1:3306/cas?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull"     p:user="root"     p:password="root" />      <!-- Define the encode method-->     <!--<bean id="passwordEncoder"        class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">           <constructor-arg value="http://www.mamicode.com/MD5"/>      </bean> -->    <bean id="passwordEncoder"      class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"      c:encodingAlgorithm="MD5"      p:characterEncoding="UTF-8" />      <bean id="dbAuthHandler"      class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"      p:dataSource-ref="dataSource"      p:sql="select password from user where name=? and used=1"     p:passwordEncoder-ref="passwordEncoder"/>

修改

    <bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">        <constructor-arg>            <map>                <!--                   | IMPORTANT                   | Every handler requires a unique name.                   | If more than one instance of the same handler class is configured, you must explicitly                   | set its name to something other than its default name (typically the simple class name).                   -->                <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />                <!--改为--><entry key-ref="dbAuthHandler" value-ref="primaryPrincipalResolver" />                <!--注释掉<entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />-->            </map>        </constructor-arg>

  1.2 创建数据库 建表 插入数据

CREATE DATABASE /*!32312 IF NOT EXISTS*/`cas` /*!40100 DEFAULT CHARACTER SET gbk */;USE `cas`;/*Table structure for table `user` */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(255) NOT NULL,  `password` varchar(255) NOT NULL,  `used` tinyint(2) NOT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;/*Data for the table `user` */insert  into `user`(`id`,`name`,`password`,`used`) values (1,‘casuser‘,‘9414f9301cdb492b4dcd83f8c711d8bb‘,1);

 1.3 加入jar包

技术分享

 

2. 测试

访问 https://demo.cdv.com:8443/cas/login

使用 casuser + Mellon 登录

成功, 此时验证是从数据库查询的密码比较而来。

sso demo mysql ( cas )