cas-server 安装及配置

本文介绍如何将CAS 4.0与MySQL数据库进行集成,包括配置数据库连接、修改认证方式、创建用户表等步骤。通过这些操作,可以实现CAS基于MySQL的用户管理和身份验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 从官网上下载相应的cas-server版本号http://developer.jasig.org/cas/ ,这里下载cas-server-4.0.0,以下修改均在4.0.0版本下

    解压后将modules文件夹中的[cas-server-webapp-4.0.0.war]放到tomcat的webapps文件夹中、重命名为cas.war。

    启动tomcat后,在浏览器中输入http://localhost:8080/cas/

    打开cas-server的登录画面、输入默认用户名/密码:[casuser/Mellon]、提示[login success]即登录成功。

  2. 添加mysql数据库支持
    首先添加三个依赖包:
    下载commons-dbcp-1.4.jar commons-pool-1.6.jar mysql-connector-java-5.1.45-bin.jar 放入[WEB-INF/lib]目录中
    COPY CAS-Servier的module目录中的cas-server-support-jdbc-4.0.0.jar 放入[WEB-INF/lib]目录中

    修改cas server 配置文件 WEB-INF/deployerConfigContext.xml

$ vim 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>  
    --> 
### 添加
    <bean id="primaryAuthenticationHandler"
          class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
          <property name="dataSource" ref="dataSource"/>
        <property name="sql" value="select password from cas_user where username = ?"/>
    </bean>


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
                   <property name="driverClassName">  
                           <value>com.mysql.jdbc.Driver</value>  
                   </property>  
                   <property name="url">  
                            <value>jdbc:mysql://SERVER_IP:3306/cas</value>  
                   </property>  
                   <property name="username">  
                            <value>cas</value>  
                   </property>  
                   <property name="password">  
                            <value>PASSWORD</value>  
                   </property>  
    </bean>  

    <bean id="selfAttributeRepository"  
  class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">  
  <constructor-arg index="0" ref="dataSource" />  
  <constructor-arg index="1"  
   value="select username,password from cas_user where {0}" />  

  <!-- 组装sql用的查询条件属性 -->   
  <property name="queryAttributeMapping">  
   <map>  
       <!-- key必须是uername而且是小写否则会导致取不到用户的其它信息,value对应数据库用户名字段,系统会自己匹配 -->  
    <entry key="username" value="username" />  
    <entry key="password" value="password" />  
   </map>  
  </property>  
  <property name="resultAttributeMapping">  
   <map>  
       <!-- key为对应的数据库字段名称,value为提供给客户端获取的属性名字,系统会自动填充值 -->  
    <entry key="username" value="username"></entry>  
    <entry key="password" value="password"></entry>  
   </map>  
  </property>  
 </bean>

注:SERVER_IP请修改成自己的mysql 服务器地址及用户密码

  1. 创建数据库,并新建表cas_user
SET FOREIGN_KEY_CHECKS=0;


CREATE TABLE `cas_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_bin NOT NULL,
  `name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


-- ----------------------------
-- Records of cas_user
-- ----------------------------
INSERT INTO `cas_user` VALUES ('1', null, 'testuser', 'testuser', 'test123');
  1. 重启tomcat ,打开cas
    http://localhost:8080/cas/
    使用用户testuser 密码test123 登录成功即可
    注:此时默认用户[casuser/Mellon]已经无法使用了

附上完整配置文件及相关依赖包下载地址
cas-server-webapp-4.0.0
登录效果图:
登录效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值