让CAS服务端跑起来

参考资料:安装 CAS 服务器

注释

1、下载方式

在 http://central.maven.org/maven2/org/jasig/cas/cas-server-webapp/ 页面选择合适的版本,下载对应目录下的cas-server-webapp-version.war。

2、初始登录

在/WEB-INF/deployerConfigContext.xml中的


    
        
            
        
    

配置了初始认证方式,这里的username/passwordcasuser/Mellon

修改认证方式

配置CAS服务端通过查询数据库的方式认证用户。

首先与Spring应用一样配置数据库,这里使用的是PostgreSQL数据库。


    
    
    
    
    
    
    

建立新的认证方式jdbcAuthenticationHandler,


    
    
    
        
    

  • dataSource属性即前面配置的数据库;
  • sql属性是一条SQL语句,功能即根据登录使用的username查询password,根据实际的table做相应的修改;
  • passwordEncoder属性是实现了org.jasig.cas.authentication.handler.PasswordEncoder接口的Bean。

CAS本身提供了org.jasig.cas.authentication.handler.DefaultPasswordEncoderorg.jasig.cas.authentication.handler.PlainTextPasswordEncoder两种实现,这里根据实际的加密方式新建了me.voler.cas.AddSaltPasswordEncoder,即在rawPassword后面拼接自定义PASSWORD_SALT后再使用MD5加密。

package me.voler.cas;

import org.jasig.cas.authentication.handler.DefaultPasswordEncoder;
import org.jasig.cas.authentication.handler.PasswordEncoder;

public class AddSaltPasswordEncoder implements PasswordEncoder {

    private static final String PASSWORD_SALT = "xx";

    @Override
    public String encode(String password) {
        DefaultPasswordEncoder encoder = new DefaultPasswordEncoder("MD5");
        return encoder.encode(password + PASSWORD_SALT);
    }

}

应用新的认证方式jdbcAuthenticationHandler

将deployerConfigContext.xml中id为authenticationManager的Bean的

    
        
            
            
        
    

修改为

    
        
            
            
        
    

添加修改认证方式依赖的jar,在/WEB-INF/lib目录下添加

  • commons-pool-version.jar
  • commons-dbcp-version.jar
  • cas-server-support-jdbc-version.jar

现在可以使用数据库中的username/password登录CAS服务端。

你可能感兴趣的:(让CAS服务端跑起来)