HttpSecurity
类是Spring Security中用于配置Web安全性的主要类之一。它提供了一系列方法,用于配置不同方面的Web安全性。下面是HttpSecurity
类的一些常用方法和其作用:
-
authorizeRequests()
:配置请求的授权规则,定义哪些请求需要经过身份验证或授权。 -
antMatchers()
:指定需要授权的URL路径模式。可以设置多个URL路径,并通过其他方法来设置访问权限要求,如permitAll()
、authenticated()
、hasRole()
等。 -
permitAll()
:允许所有用户访问指定的URL路径,即无需进行身份验证。 -
authenticated()
:要求用户进行身份验证,即需要登录后才能访问指定的URL路径。 -
hasRole()
:要求用户具有特定的角色才能访问指定的URL路径。 -
formLogin()
:配置基于表单的身份验证。可以指定登录页面的URL、登录请求的URL、登录成功和失败的处理器等。 -
loginPage()
:指定自定义的登录页面的URL。 -
loginProcessingUrl()
:指定登录表单提交的URL。 -
usernameParameter()
:自定义登录表单中用户名字段的名称。 -
passwordParameter()
:自定义登录表单中密码字段的名称。 -
failureHandler()
:配置登录失败的处理器。 -
logout()
:配置注销的行为。 -
logoutUrl()
:指定注销请求的URL。 -
logoutSuccessHandler()
:配置注销成功的处理器。 -
httpBasic()
:启用HTTP Basic认证。 -
csrf()
:配置跨站请求伪造(CSRF)防护。
这些方法只是HttpSecurity
类提供的一部分方法,用于配置Web安全性。您可以根据具体的需求使用这些方法来定义应用程序的安全策略,包括访问控制、身份验证、注销行为等。
HttpSecurity 和 filterChain 的关系
HttpSecurity
和FilterChain
是Spring Security中两个关键的概念,它们之间存在一定的关系。
HttpSecurity
是用于配置Web安全性的主要类,提供了一系列方法来定义请求的授权规则、身份验证、注销行为等。通过调用HttpSecurity
的方法,可以对请求进行拦截和处理,进行安全性配置。
FilterChain
是一组过滤器(Filter
)的链,用于对请求进行预处理、过滤和后处理。在Spring Security中,FilterChain
用于处理Web请求,并将请求传递给适当的过滤器链。每个过滤器链都负责特定的安全性任务,例如身份验证、授权、跨站请求伪造(CSRF)防护等。
在Spring Security中,HttpSecurity
实际上是在配置FilterChain
,即通过HttpSecurity
的配置来构建FilterChain
。当我们调用HttpSecurity
的方法来定义安全性配置时,实际上是在为FilterChain
添加相应的过滤器,并按照指定的顺序将它们链接起来。
因此,可以说HttpSecurity
和FilterChain
是相互关联的。通过配置HttpSecurity
,我们可以定义FilterChain
中每个过滤器的行为和顺序,从而实现对Web请求的安全性处理。
WebSecurityConfigurerAdapter 将要被弃用问题
不在继承WebSecurityConfigurerAdapter
直接交给bean 管理
@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http.build();
}
有问题评论我会更新文章
查了半天文章没找到,只能自己写个垃圾。