Java @EnableWebSecurity在春季有什么用途?
根据: 将此注释添加到Java @EnableWebSecurity在春季有什么用途?,java,spring-boot,spring-security,annotations,Java,Spring Boot,Spring Security,Annotations,根据: 将此注释添加到@Configuration类中以获得弹簧 在任何Web安全配置程序或更多文件中定义的安全配置 可能通过扩展websecurityConfigureAdapter基类和 覆盖单个方法: 或者正如@EnableWebSecurity所描述的,用于在我们的项目中启用SpringSecurity 但我的问题是,即使我没有用@EnableWebSecurity注释我的任何类,应用程序仍然会提示输入用户名和密码。(默认行为) 因此,我在使用@EnableWebSecurity和不使用
@Configuration
类中以获得弹簧
在任何Web安全配置程序或更多文件中定义的安全配置
可能通过扩展websecurityConfigureAdapter
基类和
覆盖单个方法:
或者正如@EnableWebSecurity
所描述的,用于在我们的项目中启用SpringSecurity
但我的问题是,即使我没有用@EnableWebSecurity
注释我的任何类,应用程序仍然会提示输入用户名和密码。(默认行为)
因此,我在使用@EnableWebSecurity
和不使用@EnableWebSecurity
时收到了相同的行为
有人能解释一下这个注释的确切用途吗?这个@EnableWebSecurity
是一个标记注释。它允许Spring查找(它是一个@配置
,因此是@组件
),并自动将该类应用于全局Web安全性
如果我没有用@EnableWebSecurity
注释我的任何类,应用程序仍然会提示输入用户名和密码
是的,这是默认行为。如果查看类路径,您可以找到其他用该注释标记的类(取决于您的依赖项):
SpringBootWebSecurity配置
李>
FallbackWebSecurityAutoConfiguration
李>
WebMVC安全配置
仔细考虑它们,关闭所需的配置,或覆盖其行为。对其进行了很好的解释。如果使用@EnableWebSecurity
搜索:
要完全关闭默认的web应用程序安全配置,您可以添加一个具有@EnableWebSecurity
的bean(这不会禁用身份验证管理器配置或执行器的安全性)。要自定义它,您通常使用外部属性和类型为websecurityConfigureAdapter
(例如添加基于表单的登录)的bean
如果添加@EnableWebSecurity
并禁用执行器安全性,则将获得整个应用程序的默认基于表单的登录,除非添加自定义websecurityConfigureAdapter
如果在应用程序中的任何位置使用@EnableWebSecurity
定义@配置
,它将在Spring Boot中关闭默认的webapp安全设置(但保持执行器的安全处于启用状态)。要调整默认设置,请尝试在security.*
中设置属性(有关可用设置的详细信息,请参阅SecurityProperties
)和常用应用程序属性的安全部分
显然,这是为了关闭默认的web应用程序安全配置并添加您自己的配置。@EnableWebSecurity
用于spring security java配置。在扩展了websecurityConfigureAdapter
的安全java类的顶部添加此注释,并添加@configuration
覆盖配置(WebSecurity web)
和配置(HttpSecurity http)
。这是对基于xml的配置(如和)的替代。通过这种方式,您可以限制来自特定URL的请求URL,还可以启用基于表单的登录。您能否详细说明“将其应用于全球网站安全”
?