intellij idea 2026.1+ 支持 spring security 端点权限内联提示、调试时实时查看用户身份、http client 一键临时解锁与锁定端点,提升安全配置开发效率。

在 IntelliJ IDEA 2026.1 及以上版本中,Spring Security 的端点权限规则不再需要反复切出代码去查配置类或 SecurityFilterChain,IDEA 直接在 @GetMapping、@PostMapping 等注解旁内联显示当前请求路径的生效安全策略、用户上下文与临时解锁入口。
查看端点生效的安全规则
打开任意被 Spring Security 保护的 Controller 方法,例如带有 @PreAuthorize("hasRole('ADMIN')") 或配置在 SecurityFilterChain 中的 /api/admin/** 路径方法。
将光标悬停在 @GetMapping("/profile") 这类映射注解上,IDEA 会在右侧自动浮出一个浅蓝底色的内联提示框。
提示框中明确列出「Security Rule」条目,显示实际生效的表达式(如 hasRole('ADMIN'))及其来源——是来自 @PreAuthorize 注解,还是来自 antMatchers("/api/admin/**").hasRole("ADMIN") 配置。
【若未出现提示,请确认已启用 Spring Security 支持:Settings → Languages & Frameworks → Spring → Spring Support → 勾选 Enable Spring support】
调试时实时查看当前用户身份
启动 Debug 模式并命中该 Controller 断点后,在编辑器左侧断点行号旁会出现一个带盾牌图标的「Security Context」小标签。
点击该标签,弹出面板中显示 Principal 名称、Granted Authorities 列表、Authentication 类型(如 UsernamePasswordAuthenticationToken),以及是否已通过 remember-me 或 JWT 认证。
这一步无需手动写 SecurityContextHolder.getContext().getAuthentication() 打印调试,信息直接结构化呈现。
从 HTTP Client 一键临时解锁端点
方法一:在 HTTP Client 请求文件(.http)中,将光标置于对应请求行,例如 GET http://localhost:8080/api/profile。
按快捷键 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 “Unlock Endpoint”,回车执行。
方法二:在 Controller 方法内,将光标停在 @GetMapping 注解上 → 右键 → 选择 “Unlock for HTTP Client Testing”。
IDEA 会自动在当前 HTTP Client 请求上方插入一行 # @unlocked,同时在服务端临时绕过该路径的所有 SecurityFilterChain 和方法级注解校验。
此时发送请求将跳过 403/401,直接进入业务逻辑。注意:此操作仅作用于当前 IDE 会话中的 HTTP Client 请求,不影响其他客户端或生产环境。
测试完成后立即重新锁定端点
第一步:回到刚才触发 Unlock 的 .http 文件,找到请求上方的 # @unlocked 行。
第二步:将光标置于该行任意位置 → 按 Alt+Enter → 选择 “Lock endpoint again”。
第三步:IDEA 自动删除 # @unlocked 行,并向 Spring Security 注册回调,确保下一次对该路径的访问严格走完整过滤器链。
此时再次发送相同 HTTP 请求,将立即返回 401 Unauthorized 或 403 Forbidden,验证锁定已生效。











