
Spring Security 教程(06)、基础的网站安全 Java配置
Diebug默认安全行为:开启全局安全过滤器



当你引入 Spring Security 依赖后,框架会默认启用一个全局安全过滤器。这意味着你的应用中所有请求都需要认证,包括静态资源。
对于大多数生产应用,这个默认行为过于严格。你需要自定义配置,只保护需要保护的 URL,开放公开的资源。
创建 Security Config 类
创建一个继承自 WebSecurityConfigurerAdapter 的配置类:
1 | @Configuration |
这个配置的含义:
/public/**路径下的所有请求,任何人都可以访问/api/**路径下的请求,需要认证后才能访问- 其他所有请求,需要认证后才能访问
CSRF 防护:Spring Security 默认开启
Spring Security 默认启用 CSRF 防护。对于表单提交,你需要在表单中添加 CSRF Token:
1 | <form method="POST" action="/login"> |
如果是前后端分离的 API 应用,可以使用 csrf().disable() 关闭 CSRF 防护(前提是使用了 JWT 等无状态认证)。
默认登录页和登出
当未认证用户访问受保护资源时,Spring Security 会自动重定向到登录页。默认登录页是 /login,登出 URL 是 /logout。
你可以通过配置自定义登录页:
1 | http.formLogin() |
密码存储:使用 BCrypt
Spring Security 推荐 BCrypt 作为密码编码器:
1 | @Bean |
BCrypt 的优势:
- 内置盐值,防止彩虹表攻击
- 成本因子可调整,适应硬件性能变化
- 计算速度慢,增加暴力破解难度
下一步



基础配置完成后,你可以进一步自定义登录页面、配置用户存储、添加方法级安全等。建议继续阅读第 7 章”HttpSecurity”了解更详细的配置方法。
喜欢这篇文章的人也看了
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果