《Spring Boot官方指南》28.安全
  TEZNKK3IfmPf 2023年11月15日 17 0

28. 安全

如果Spring Security位于类路径上,那么Web应用程序将默认使用所有HTTP端点上的’basic’身份验证。要向Web应用程序添加方法级安全性,还可以为你想要的设置添加“@EnableGlobalMethodSecurity”。通过点击Spring Security Reference能够找到更多的信息。


‘AuthenticationManager’ 有一个默认用户(用户名为’user’ ,密码随机,在应用程序启动时在INFO级别输出)

Using default security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35

Note
如果您调整过日志配置,请确保将“org.springframework.boot.autoconfigure.security”日志级别设置为“INFO”,否则将不打印默认密码。

您可以通过配置“security.user.password”更改默认密码。更多的属性通过SecurityProperties来获取(属性前缀 “security”)。

默认安全配置在从(在用于Web安全的’SpringBootWebSecurityConfiguration’和非web应用程序中相关用于认证配置的“AuthenticationManagerConfiguration”)那里导入的类“SecurityAutoConfiguration”中实现。你可以添加一个@EnableWebSecurity注解的Bean来关闭默认Web应用程序安全性配置完全(这不会禁用身份验证管理器配置或执行器的安全性)。要定制它,通常使用外部属性和类型为’WebSecurityConfigurerAdapter’的bean(例如,添加基于表单的登录)。您也可以添加一个类型为“AuthenticationManager”的bean来关闭身份验证管理器配置,或者通过将“AuthenticationManagerBuilder”自动注入到“@Configuration”类中的方法来配置全局“AuthenticationManager”。在Spring Boot samples中有几个security应用的常见例子来开始你的旅程。

在web应用中能够开箱即用的基础功能:

  • 具有内存存储和单一用户的类型为“AuthenticationManager”的Bean(请参阅为“SecurityProperties.User”的用户属性)。

  • 忽略(不安全)带有公共静态资源(’/ css / **’,’/ js / **’,’/ images / **’,’/ webjars / **’和’** / favicon.ico) ‘)的路径。

  • 其他所有端点的HTTP基础安全。

  • 发布到Spring的ApplicationEventPublisher的Security事件(成功和失败的身份验证和拒绝访问)。

  • Spring security在默认情况下提供常见的低级功能 (HSTS,XSS,CSRF,缓存)

上述所有的功能都可以通过修改外部属性(security.*)来打开和关闭。要在不更改任何其他自动配置功能的情况下覆盖访问规则,请添加“类型为“WebSecurityConfigurerAdapter”,注解@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)的@Bean,并配置它以满足您的需要。


Note
默认情况下,’WebSecurityConfigurerAdapter’ 将匹配任何路径。如果你不想要完全覆盖Spring Boot自动配置访问规则,您的适配器必须显式配置要覆盖的路径。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
TEZNKK3IfmPf