版权声明:本文为博主原创文章,遵循 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;
}
}