搭建cas客户端

2019-11-01 09:07:59 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/101029101

今天大哥,就给了一个cas认证的包,和 一个cas证书 和一个 大片 web。xml 配置的 文档, 让我部署到服务器上面

添加 cas 认证的包

代码语言:javascript复制
        <dependency>
            <groupId>net.unicon.cas</groupId>
            <artifactId>cas-client-autoconfig-support</artifactId>
            <version>2.3.0-GA</version>
        </dependency>
<!-- 这里我还导入了一个 
	授权认证的 java 包  ,老板给的
-->

配置

代码语言:javascript复制
cas:
  server-url-prefix: https://cas.njcit.cn/login
  server-login-url: https://cas.njcit.cn/login/login
  client-host-url: http://lk.njcit.edu.cn
  use-session: true
  validation-type: cas
#  server.port: 9002
  #自定义的退出url,退出成功后跳转到 http://cas.client1.com:9002/logout/success
#  casClientLogoutUrl: http://cas.server.com:8443/cas/logout?service=http://cas.client1.com:9002/logout/success

启动filter配置

代码语言:javascript复制
package com.example.demo.config;

//这里是自己实现的   
// 第三方认证机构,配置进行授权认证,
// 我们写的这个是认证客户端,认证需要向服务器请求
// 服务请请求的相关信息都封装在这个包里了
import org.ly.uap.client.authentication.AuthenticationFilter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Mike
 */
@Configuration
public class CASAutoConfig {

    @Value("${cas.server-url-prefix}")
    private String serverUrlPrefix;
    @Value("${cas.server-login-url}")
    private String serverLoginUrl;
    @Value("${cas.client-host-url}")
    private String clientHostUrl;


    /**
     * 授权过滤器
     * @return
     */
    @Bean
    public FilterRegistrationBean filterAuthenticationRegistration() {
//        <filter-name>Authentication Filter</filter-name>
        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new AuthenticationFilter());


        // 设定匹配的路径
        registration.addUrlPatterns("/*");

        Map<String,String> initParameters = new HashMap<String, String>();
        initParameters.put("casServerLoginUrl", serverUrlPrefix);
        initParameters.put("serverName", clientHostUrl);
        //忽略的url,"|"分隔多个url
        initParameters.put("ignorePattern", "/logout/success|/index");
        registration.setInitParameters(initParameters);
        // 设定加载的顺序
        registration.setOrder(1);
        return registration;
    }
}

0 人点赞