JSD-8508 CAS单点兼容钉钉单点
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.0 KiB

/*
* Copyright (C), 2018-2021
* Project: starter
* FileName: SSOFilter
* Author: Louis
* Date: 2021/8/29 14:37
*/
package com.fr.plugin.hejr.request;
import com.fr.decision.fun.GlobalRequestFilterProvider;
import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.Map;
/**
* <Function Description><br>
* <SSOFilter外部过滤器>
*
* @author fr.open
* @since 1.0.0
*/
public class SSOFilter extends AbstractGlobalRequestFilterProvider {
/**
* 过滤器名称
*
* @return
*/
@Override
public String filterName() {
return "ssoFilter";
}
/**
* 过滤规则
*
* @return
*/
@Override
public String[] urlPatterns() {
return new String[]{"/*"};
}
// @Override
// public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
// LogKit.info("SSOFilter---running");
// try {
// filterChain.doFilter(request, response);
// } catch (Exception e) {
// LogKit.error(e.getMessage(), e);
// }
// }
/**
* 外部的过滤器类名需要把相应的jar包放到web服务器的classpath中
*
* @return
*/
@Override
public String externalFilterClassName() {
return "indigox.sso.cilent.web.SSOFilter";
}
/**
* 过滤器的初始化参数
*
* @return
*/
@Override
public Map<String, String> initializationParameters() {
String patterns = "/webroot/decision/remote/design/*;" +
"/webroot/decision/resources;" +
"/webroot/decision/file;" +
"/webroot/decision/materials.min.js.map;" +
"/webroot/decision/login;" +
"/webroot/decision/login/*;" +
"/webroot/decision/logout;" +
"/webroot/decision/url/*;" +
"/webroot/decision/plugin/public/*;" +
"/webroot/decision/plugin/private/*;" +
"/webroot/decision/token/refresh;" +
"/webroot/decision/system/*;" +
"/webroot/decision/v10/*;" +
"/webroot/decision/view/*;" +
"/webroot/sso/login.jsp;" +
"/webroot/sso/logout.jsp;" +
"/webroot/login.html;" +
"/webroot/scripts/*;" +
"/webroot/services/*";
Map<String, String> params = new HashMap<>();
params.put("excludePatterns", patterns);
return params;
}
/**
* 可选实现的多个filter排序执行顺序的方法
*
* @param other
* @return 0 相等大于0是自身优先 小于0 是other优先
*/
@Override
public int compareTo(@NotNull GlobalRequestFilterProvider other) {
return -1;
}
}