前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringSecurity的集成以及相关组件的介绍

SpringSecurity的集成以及相关组件的介绍

作者头像
愿天堂没有BUG
发布2022-10-28 16:26:37
3000
发布2022-10-28 16:26:37
举报
文章被收录于专栏:愿天堂没有BUG(公众号同名)

Spring Boot Security支持

在企业应用系统安全方面,比较常用的安全框架有 SpringSecurity 和 Apache Shiro,相对于Shiro, Spring Security功能强大、扩展性强,同时学习难度也稍大一些。Spring Security是专门针对 Spring 项目的安全框架,关于 Spring Security 的应用,我们可以通过专业书籍来学习,在本章我们重点放在Spring Boot对Spring Security的集成以及相关组件的介绍。

在具体项目实践中,认证和权限是必不可少的,特别是 Web 项目注册、登录、访问权限等场景。Spring Security 致力于为 Java 应用提供认证和授权管理,同时,它也是 Spring Boot官方推荐的权限管理框架。

Spring Security 基于 Spring,是一个能够为企业应用系统提供声明式安全访问控制解决方案的安全框架。Spring Security充分利用了 Spring IoC (控制反转 Inversion of Control)、DI ( 依赖注入 Dependency Injection)和 AOP(面向切面编程)等特性来实现相关的功能,并提供了--组可以在 Spring 应用上下文中配置的 Bean。

Security 自动配置

在 Spring Boot 中,使用 Spring Security 只 需简单地引入 spring-boot-starter-security 即可。

在 Spring Boot 中 对 oauth2 、 reactive 和 servlet 进 行 了 支 持 相 关 类 均 位 于spring-boot-autoconfigure 项目下的 org.springframework. boot.autoconfigure.security 包中。

Spring Boot 项目引入 spring-boot-starter-security 之后,再次访问之前的 URL,会发现页面跳转到--个 login 的登录界面。这便是 Security 在 SpringBoot 中的默认配置生效了。此时,可以在 application 配 置文件中指定以下内容,重启项目输入用户名和密码登录即可正常访问。

代码语言:javascript
复制
spring . security. user . name=user
spring. security . user. password=password
spring. security. user . roles=USER

下面,我们就逐步分析 Spring Boot 中这一自动配置机制是如何实现的。

同其他自动配置一样,在 spring-boot-autoconfigure 项目的 META-INF/spring.factories 中注册了 Security 相关的自动配置类。

代码语言:javascript
复制
# Auto Configure
org. springframework . boot . autoconfigure . EnableAutoConfiguration=\
org. springframework. boot . autoconfigure. security . servlet . SecurityAutoConfigu
ration,\
org. springframework . boot . autoconfigure . security. servlet .UserDetailsserviceA
uto-
Configuration, \org. springframework . boot . autoconfigure . security . servlet . SecurityFilterAutoC
onfi-
guration, \
org. springframework . boot . autoconfigure . security . reactive. ReactiveSecurityAu
to-
Configuration, \
org. springframework . boot . autoconfigure . security . reactive. ReactiveUserDetailS-
ServiceAutoConfiguration, \
org. springframework . boot . autoconfigure . security . oauth2. client . servlet . 0Auth
2Client-
AutoConfiguration,\
org. springframework. boot . autoconfigure . security . oauth2. client . reactive . Reac
tive0-
Auth2ClientAutoConfiguration, \
org. springframework . boot . autoconfigure . security . oauth2. resource . servlet .0Au
th2-
ResourceServerAutoConfiguration, \
org. springframework. boot . autoconfigure . security . oauth2. resource . reactive. Re
active-
OAuth2ResourceServerAutoConfiguration, \

通过 spring.factories 中的注册可以看出,针对 Security 有大量的自动配置类,涉及 servlet、reactive 、 oauth2 等 自 动 配 置 。我 们 这 里 重 点 介 绍 SecurityAutoConfiguration 和 Se-curityFilterAutoConfiguration。

本文给大家讲解的内容是SpringBootSecurity支持:Security自动配置

  1. 下篇文章给大家讲解的是SpringBootSecurity支持:SecurityAutoConfiguration 详解;
  2. 觉得文章不错的朋友可以转发此文关注小编;
  3. 感谢大家的支持!

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 愿天堂没有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring Boot Security支持
  • Security 自动配置
  • 本文给大家讲解的内容是SpringBootSecurity支持:Security自动配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档