首页 > 基础资料 博客日记
若依框架请求访问:报错401,认证失败,无法访问系统资源
2025-01-16 20:00:08基础资料围观28次
1.如果事想一次性访问直接在psotman,把Authorization添加上去,还有cookie,前端页面按发f12,添加上去就行
2.如果想直接跳出认证,需要修改后端framework模块下的自己添加自己的模块标记地方是我自己添加的。
还需要在下面security模块找到filter下的JwtAuthenticationTokenFilter,把这段代码复制替换掉相关代码即可
@Component
public class JwtAuthenticationTokenFilter extends OncePerRequestFilter {
@Autowired
private TokenService tokenService;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws ServletException, IOException {
String token = getTokenFromRequest(request);
if (token != null) {
// 只在有 Token 时进行认证
LoginUser loginUser = tokenService.getLoginUser(request);
if (loginUser != null) {
tokenService.verifyToken(loginUser);
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
loginUser, null, loginUser.getAuthorities());
authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
SecurityContextHolder.getContext().setAuthentication(authenticationToken);
}
}
chain.doFilter(request, response);
}
private String getTokenFromRequest(HttpServletRequest request) {
String header = request.getHeader("Authorization");
if (header != null && header.startsWith("Bearer ")) {
return header.substring(7);
}
return null;
}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: