|
|
@ -1,7 +1,9 @@
|
|
|
|
package cn.teammodel.security.filter;
|
|
|
|
package cn.teammodel.security.filter;
|
|
|
|
|
|
|
|
|
|
|
|
import cn.teammodel.model.entity.TmdUserDetail;
|
|
|
|
import cn.teammodel.model.entity.TmdUserDetail;
|
|
|
|
|
|
|
|
import cn.teammodel.model.entity.User;
|
|
|
|
import cn.teammodel.security.utils.JwtTokenUtil;
|
|
|
|
import cn.teammodel.security.utils.JwtTokenUtil;
|
|
|
|
|
|
|
|
import io.jsonwebtoken.Claims;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
@ -15,7 +17,10 @@ import javax.servlet.ServletException;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* x-auth-authToken filter
|
|
|
|
* x-auth-authToken filter
|
|
|
@ -26,6 +31,7 @@ import java.util.Collection;
|
|
|
|
public class AuthInnerTokenFilter extends OncePerRequestFilter {
|
|
|
|
public class AuthInnerTokenFilter extends OncePerRequestFilter {
|
|
|
|
JwtTokenUtil jwtTokenUtil = new JwtTokenUtil();
|
|
|
|
JwtTokenUtil jwtTokenUtil = new JwtTokenUtil();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<String> whiteList = new ArrayList<>(Arrays.asList("1530782422","1531391504","1529649295","1531030192","1533091862","1565140494","1532621201","1532605781","1563262699","1530782422","1530670067","1578275404","6711941735","1528783259"));
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
|
|
|
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
|
|
|
SecurityContext context = SecurityContextHolder.getContext();
|
|
|
|
SecurityContext context = SecurityContextHolder.getContext();
|
|
|
@ -39,6 +45,20 @@ public class AuthInnerTokenFilter extends OncePerRequestFilter {
|
|
|
|
filterChain.doFilter(request, response);
|
|
|
|
filterChain.doFilter(request, response);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
User user = tmdUserDetail.getUser();
|
|
|
|
|
|
|
|
if (!whiteList.contains(user.getId()) && !"IES".equals(user.getWebsite()))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SecurityContextHolder.clearContext(); // 验证失败不应该在此处抛出异常,应该维护好 context 的值,以便整个过滤器链正常运行
|
|
|
|
|
|
|
|
filterChain.doFilter(request, response);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/*if (!"GP".equals(user.getWebsite()) && !"IES".equals(user.getWebsite()))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SecurityContextHolder.clearContext(); // 验证失败不应该在此处抛出异常,应该维护好 context 的值,以便整个过滤器链正常运行
|
|
|
|
|
|
|
|
filterChain.doFilter(request, response);
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
|
|
// 组装 authToken 的 jwt 进 authentication
|
|
|
|
// 组装 authToken 的 jwt 进 authentication
|
|
|
|
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
|
|
|
|
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
|
|
|
|
UsernamePasswordAuthenticationToken finalAuthentication = new UsernamePasswordAuthenticationToken(tmdUserDetail, null, authorities);
|
|
|
|
UsernamePasswordAuthenticationToken finalAuthentication = new UsernamePasswordAuthenticationToken(tmdUserDetail, null, authorities);
|
|
|
|