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
107 lines
3.0 KiB
3 years ago
|
/*
|
||
|
* 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;
|
||
|
}
|
||
|
}
|