搭建cas单点登陆

  • cas部署war包下载

去官网(https://www.apereo.org/projects/cas/download-cas)下载源码。注意由于新版本的源码不包含war包,需要自己编译构建,故本博下载的是4.0.0版本,https://github.com/apereo/cas/releases/tag/v4.0.0。安装war包在:对应下载目录/cas-server-4.0.0/modules/cas-server-webapp-4.0.0.war  。为了方便访问路径,修改war名称为cas.war

  • 生成证书,此步可跳过

由于https访问必须带证书,故需生成证书。本博采用http访问,故不详细介绍

  • 部署war并启动tomcat服务器

tomcat容器默认8080端口,如未修改过端口,访问URL:http://localhost:8080/cas/。如图


默认登陆名:casuser,密码:Mellon。


用户密码在此处cas/WEB-INF/deployerConfigContext.xml配置:

    <bean id="primaryAuthenticationHandler" class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler">
        <property name="users">
            <map>
                <entry key="casuser" value="Mellon"/>
            </map>
        </property>

    </bean>

  • 读取数据库用户信息

默认用户名肯定不能满足需求,故需要让用户名密码读取数据库信息。打开配置文件cas/WEB-INF/deployerConfigContext.xml。将用户名密码的这个bean注释掉。

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

-->

新增如下配置:

<!--**********************************新增**************************************************-->
    <!-- Define the DB Connection -->
    <bean id="dataSource"
     class="com.mchange.v2.c3p0.ComboPooledDataSource"
     p:driverClass="com.mysql.jdbc.Driver"
     p:jdbcUrl="jdbc:mysql://192.186.88.31:3306/test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"
     p:user="test"
     p:password="test" />
 
    <!--密码不能明文显示,此处采用md5加密-->
    <bean id="passwordEncoder"
      class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
      c:encodingAlgorithm="MD5"
      p:characterEncoding="UTF-8" />
 
    <bean id="primaryAuthenticationHandler"
      class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
      p:dataSource-ref="dataSource"
      p:sql="select password from cas_user where user_name=?"
     p:passwordEncoder-ref="passwordEncoder"/>

<!--***********************************新增*************************************************-->

  • 新增cas用户表,新增用户

CREATE TABLE `cas_user` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `user_name` varchar(50) DEFAULT NULL COMMENT '用户名',
  `password` varchar(100) DEFAULT NULL COMMENT '密码的md5值',
  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='cas登陆用户';

插入一个用户密码。nnnn的md5值:e371cc061fc928ff5a6072f477b18c67

INSERT into cas_user (user_name,password) VALUES ('yangxiaohu', 'e371cc061fc928ff5a6072f477b18c67');

增加c3p0-0.9.1.2.jar,MySQL-connector-Java-5.1.21.jar,cas-server-support-jdbc-4.0.0.jar,依赖jar包,重启tomcat

此时输入用户名:yangxiaohu,密码:nnnn 即可登录成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值