如何在Spring Boot应用中配置Spring Security?

为了使用Spring Security,我们需要将spring-boot-starter-security放入Maven或Gradle配置文件中,通过这样方法将Spring Security放入到了类路径classpath中后,Spring Boot Web应用会默认使用基本身份验证进行自动保护,服务器启动时将在控制台中显示的默认用户名为“user”和随机密码(注意翻滚查看),它们可用于登录和身份验证。密码是随机的,并在重新启动服务器时更改。默认情况下,spring使用名为“user”的单个用户进行内存中身份验证。

1.要在Spring Boot应用程序中启用Spring Security,只需使用以下Spring Boot启动程序:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency> 

2. 更改默认密码,Spring Boot在application.properties提供security.user.password配置需要的属性,如下所示:

security.user.password= jdon

现在我们可以使用user / jdon登录应用程序了。其他安全属性可以在application.properties使用security.*前缀的配置来更改。


security.basic.enabled:启用基本身份验证。默认值为true
security.basic.path:它配置应用安全性的路径。我们需要提供逗号分隔的路径。
security.enable-csrf:它启用CSRF。默认值为false。
security.require-ssl:启用和禁用SSL。默认值为false。
security.sessions:默认值为无状态。值可以always, never,if_required,无stateless。
security.user.name:配置用户名。默认用户是user。
security.user.password:配置密码。
security.user.role:它配置角色。默认角色是USER。

3.如果x想微调日志记录配置,然后打印默认的随机密码,需要配置application.properties中日志水平为INFO:

logging.level.org.springframework.boot.autoconfigure.security= INFO

4. 默认静态路径不加密,例如/css/**,/js/**,/images/**,/webjars/**和**/favicon.ico。

5. Spring Security中默认提供HSTS,XSS,CSRF,缓存等功能。

如果我们想使用数据库中用户名和密码,那么我们需要使用UserDetailsService;要控制与安全相关的配置,我们可以创建一个安全配置类WebSecurityConfigurerAdapter的实现,然后扩展重载其configure()方法。这个类要用@Configuration和注释@EnableWebSecurity;如果我们要启用方法级安全性,则需使用注释配置类@EnableGlobalMethodSecurity。

原文 

https://www.jdon.com/49864

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 如何在Spring Boot应用中配置Spring Security?

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址