package com.common.security.configure;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.common.core.beans.Result;
|
import com.common.core.enums.ResultCodeEnum;
|
import com.common.core.exception.BizException;
|
import org.springframework.security.core.AuthenticationException;
|
import org.springframework.security.web.AuthenticationEntryPoint;
|
import org.springframework.stereotype.Component;
|
import javax.servlet.ServletException;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
|
/**
|
* @author 廖振钦
|
* @date 2022-01-17
|
* token失效访问接口时,自定义的返回结果
|
*/
|
@Component
|
public class RestAuthenticationEntryPoint implements AuthenticationEntryPoint {
|
@Override
|
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException {
|
response.setCharacterEncoding("UTF-8");
|
response.setContentType("application/json");
|
response.addHeader("Content-Security-Policy","default-src 'self'");
|
response.addHeader("Strict-Transport-Security","max-age=31536000; includeSubdomains");
|
response.addHeader("Referrer-Policy","no-referrer-when-downgrade");
|
response.addHeader("X-Permitted-Cross-Domain-Policies","all");
|
response.addHeader("X-Download-Options","noopen");
|
Result res=Result.respErr(ResultCodeEnum.RT_INVALID_TOKEN);
|
response.getWriter().println(JSONObject.toJSONString(res));
|
response.getWriter().flush();
|
}
|
}
|