SpringBoot登录拦截配置详解(实测可用)

2025-05-29 0 21

背景:写一个用户登录拦截,在网上找了一圈没找到好用的,于是自己试验了一下,总结出来,分享给大家。

1.自定义登录拦截器LoginInterceptor

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
public class LoginInterceptor implements HandlerInterceptor {

@Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

// 这里是关键

User loginUser = (User) request.getSession().getAttribute("user");

if (loginUser == null) {

// 未登录抛出异常,交给统一异常处理器处理

throw new CustomException(ResultCode.USER_NOT_LOGIN);

}

return true;

}

@Override

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

@Override

public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}

}

2.在WebConfigurer中添加拦截

?

1

2

3

4

5

6

7

8

9

10

11

12
@Configuration

public class WebMvcConfig implements WebMvcConfigurer {

@Override

public void addInterceptors(InterceptorRegistry registry) {

//注册TestInterceptor拦截器

registry.addInterceptor(new LoginInterceptor())

.addPathPatterns("/**")

// 排除登录注册等接口,注意这里的格式是 /**/xxx

.excludePathPatterns("/**/login", "/**/register");

}

}

3.登录接口

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
/**

* 登录

* @return 用户信息

*/

public User login(UserVO userVO. HttpServlet) {

String username = userVO.getUsername();

String password = userVO.getPassword();

User user = userMapper.findByUsernameAndPassword(username, password);

// 未找到用户

if(user == null) {

throw new CustomException(ResultCode.USER_ACCOUNT_ERROR);

}

// 设置session中的用户信息

SessionUtils.setSessionAttribute("user", user);

return user;

}

文中的代码细节不一一列举了,这里重点讨论的拦截器,感兴趣的朋友可以私聊我获取其他代码。

结果

登录的情况下,请求普通接口提示未登录

SpringBoot登录拦截配置详解(实测可用)

请求登录接口。

SpringBoot登录拦截配置详解(实测可用)

登录后再去请求普通接口,返回正常。

SpringBoot登录拦截配置详解(实测可用)

到此这篇关于SpringBoot登录拦截配置详解(实测可用)的文章就介绍到这了,更多相关SpringBoot登录拦截内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/xqnode/article/details/107468535

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringBoot登录拦截配置详解(实测可用) https://www.kuaiidc.com/119257.html

相关文章

发表评论
暂无评论