赞
踩
HttpSecurity:
HttpSecurity 是 Spring Security 提供的用于配置 HTTP 安全的主要配置类之一。它提供了一些方法,用于配置请求的身份认证、授权、跨站请求伪造防护等。在 Spring Security 的配置过程中,通常会使用 HttpSecurity 配置请求安全策略,然后将其与 WebSecurity 结合起来使用。使用 HttpSecurity 可以方便地配置基于 HTTP 的安全性,如启用表单登录、启用 HTTP basic 认证、启用退出登录等。同时,还可以使用 HttpSecurity 配置请求的授权策略,如哪些请求需要进行身份认证、哪些请求需要授权等。
HttpSecurity常用方法:
方法名 | 作用 |
anonymous() | 允许匿名用户访问 |
authorizeRequests() | 开始请求授权配置 |
formLogin() | 启用表单登录 |
httpBasic() | 启用 HTTP basic 认证 |
logout() | 启用退出登录 |
oauth2Login() | 启用 OAuth2 登录 |
rememberMe() | 启用 remember me 功能 |
requestMatchers() | 添加匹配请求配置 |
securityContext() | 添加 SecurityContext 配置 |
securityConfigurer() | 添加自定义的安全配置 |
sessionManagement() | 配置 Session 管理 |
csrf() | 配置跨站请求伪造防护 |
其中,authorizeRequests() 方法是 HttpSecurity 的核心方法,它用于开启请求授权配置。在该方法之后,可以通过一系列的配置方法来配置哪些请求需要进行授权,以及授权的方式和条件。其他方法的作用如下:
anonymous():允许匿名用户访问,即不需要进行身份认证即可访问的请求。
formLogin():启用表单登录,即用户需要在网页上输入用户名和密码来进行身份认证。
httpBasic():启用 HTTP basic 认证,即用户需要在请求头中提供用户名和密码来进行身份认证。
logout():启用退出登录,即用户可以通过访问特定的 URL 来退出登录。
oauth2Login():启用 OAuth2 登录,即用户可以使用第三方 OAuth2 认证服务进行身份认证。
rememberMe():启用 remember me 功能,即用户可以选择“记住我”的选项,使得下次登录时可以直接进行身份认证。
requestMatchers():添加匹配请求的配置,可以根据请求的 URL 或其他条件来进行配置。
securityContext():添加 SecurityContext 配置,用于管理安全上下文信息。
securityConfigurer():添加自定义的安全配置,可以通过编写自定义的安全配置类来进行扩展。
sessionManagement():配置 Session 管理,可以设置 Session 的失效时间、Session ID 的生成策略等。
csrf():配置跨站请求伪造防护,可以设置是否启用 CSRF 防护、CSRF Token 的生成策略等。
WebSecurity:
WebSecurity 是 Spring Security 提供的用于配置 Web 安全的主要配置类之一。它提供了一些方法,用于配置 Spring Security 的一些基本行为,如忽略某些请求、设置用户信息来源、启用 HTTPS 等。以下是 WebSecurity 常用的方法及其作用:
方法名 | 作用 |
ignoring() | 配置忽略某些请求 |
authorizeRequests() | 开始请求授权配置 |
authenticationProvider() | 配置身份认证提供者 |
headers() | 配置 HTTP 头信息 |
portMapper() | 配置端口映射 |
userDetailsService() | 配置用户信息来源 |
httpBasic() | 启用 HTTP basic 认证 |
formLogin() | 启用表单登录 |
logout() | 启用退出登录 |
csrf() | 配置跨站请求伪造防护 |
sessionManagement() | 配置 Session 管理 |
requiresChannel() | 配置 HTTPS 通信 |
exceptionHandling() | 配置异常处理 |
其中,ignoring() 方法用于配置忽略某些请求,如静态资源等,这些请求不需要进行身份认证和授权。
authorizeRequests() 方法用于开启请求授权配置,可以通过一系列的配置方法来配置哪些请求需要进行授权,以及授权的方式和条件。
authenticationProvider() 方法用于配置身份认证提供者,可以自定义身份认证的实现方式。其他方法的作用如下:
headers():配置 HTTP 头信息,如 X-Frame-Options、Strict-Transport-Security 等。
portMapper():配置端口映射,可以将 HTTP 请求映射到 HTTPS 请求或其他端口上。
userDetailsService():配置用户信息来源,可以使用内存、数据库或其他方式来获取用户信息。
httpBasic():启用 HTTP basic 认证,即用户需要在请求头中提供用户名和密码来进行身份认证。
formLogin():启用表单登录,即用户需要在网页上输入用户名和密码来进行身份认证。
logout():启用退出登录,即用户可以通过访问特定的 URL 来退出登录。
csrf():配置跨站请求伪造防护,可以设置是否启用 CSRF 防护、CSRF Token 的生成策略等。
sessionManagement():配置 Session 管理,可以设置 Session 的失效时间、Session ID 的生成策略等。
requiresChannel():配置 HTTPS 通信,可以设置哪些请求需要使用 HTTPS 通信。
exceptionHandling():配置异常处理,可以自定义异常处理的方式。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。