【Spring Boot】029
【Spring Boot】029
【Spring Boot】029-一、概述本质上是面向切面编程(AOP),符合横切关注点的功能都可以放在中来实现,主要的应用场景包括:登录验证,判断用户是否登录。权限验证,判断用户是否有权限访问资源,如校验token日志记录,记录请求操作日志(用户ip,访问时间等),以便统计请求访问量。处理cookie、本地化、国际化、主题等。性能监控,监控请求
【Spring Boot】029
本质上是面向切面编程(AOP),符合横切关注点的功能都可以放在中来实现,主要的应用场景包括:
- 登录验证,判断用户是否登录。
- 权限验证,判断用户是否有权限访问资源,如校验token
- 日志记录,记录请求操作日志(用户ip,访问时间等),以便统计请求访问量。
- 处理cookie、本地化、国际化、主题等。
- 性能监控,监控请求处理时长等。
- 通用行为:读取cookie得到用户信息并将用户对象放入请求,从而方便后续流程使用,还有如提取Locale、Theme信息等,只要是多个处理器都需要的即可使用实现)
package com.zibo.api.interceptor;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRespe;
import java.io.IOException;
// 实现
@Component
public class MyInterceptor implements HandlerInterceptor {
// 处理请求之前执行
@Override
public boolean preHandle(HttpServletRequest request, HttpServletRespe respe, Object handler) throws Exception {
println("=====:处理请求之前执行=====");
return true; // true 表示放行
}
// 处理请求之后执行
@Override
public void postHandle(HttpServletRequest request, HttpServletRespe respe, Object handler, ModelAndView modelAndView) throws IOException {
println("=====:处理请求之后执行=====");
}
// 响应后执行
@Override
public void afterCompletion(HttpServletRequest request, HttpServletRespe respe, Object handler, Exception ex) {
println("=====:响应后执行=====");
}
}
package com.zibo.;
import com.zibo.api.interceptor.MyInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.annotation.Configuration;
import org.springframework.web.annotation.InterceptorRegistry;
import org.springframework.web.annotation.WebMvcConfigurationSupport;
@Configuration
public class WebAuthConfig extends WebMvcConfigurationSupport {
@Autowired
private MyInterceptor myInterceptor;
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor)
.addPathPatterns("/user/**") // 拦截的接口:全部拦截!
.excludePathPatterns("/user/login","/user/register", "/favicon.ico"); // 放行的接口:登录、注册等
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除权限springboot登录接口 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 12:30:17
上一篇:【Spring Boot】030
下一篇:【Spring Boot】028
推荐阅读
留言与评论(共有 9 条评论) |
本站网友 88注 | 20分钟前 发表 |
国际化 | |
本站网友 保利未来城市 | 9分钟前 发表 |
记录请求操作日志(用户ip | |
本站网友 支持手写的平板 | 4分钟前 发表 |
拦截目标配置代码语言:javascript代码运行次数:0运行复制package com.zibo.; import com.zibo.api.interceptor.MyInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.annotation.Configuration; import org.springframework.web.annotation.InterceptorRegistry; import org.springframework.web.annotation.WebMvcConfigurationSupport; @Configuration public class WebAuthConfig extends WebMvcConfigurationSupport { @Autowired private MyInterceptor myInterceptor; @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInterceptor) .addPathPatterns("/user/**") // 拦截的接口:全部拦截! .excludePathPatterns("/user/login" | |
本站网友 水晶之恋婚纱摄影 | 18分钟前 发表 |
拦截目标配置代码语言:javascript代码运行次数:0运行复制package com.zibo.; import com.zibo.api.interceptor.MyInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.annotation.Configuration; import org.springframework.web.annotation.InterceptorRegistry; import org.springframework.web.annotation.WebMvcConfigurationSupport; @Configuration public class WebAuthConfig extends WebMvcConfigurationSupport { @Autowired private MyInterceptor myInterceptor; @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInterceptor) .addPathPatterns("/user/**") // 拦截的接口:全部拦截! .excludePathPatterns("/user/login" | |
本站网友 家庭自制泡菜的做法 | 29分钟前 发表 |
如有侵权请联系 cloudcommunity@tencent 删除前往查看权限springboot登录接口 | |
本站网友 全球企业500强 | 28分钟前 发表 |
判断用户是否有权限访问资源 | |
本站网友 节约用水的故事 | 24分钟前 发表 |
访问时间等) | |
本站网友 自来水 | 1分钟前 发表 |
分享自作者个人站点/博客 |