Spring Security(一)

随着Spring Boot 和微服务的流行,Spring Security越来越受开发者的重视,因为Spring Security在和Spring Boot整合时具有先天优势。
目前在Java企业级开发中,安全管理方面的框架非常少,一般来说,主要有三种方案:

  • Shiro
  • Spring Security
  • 开发者自己实现

Shiro本身是一个老牌的安全管理框架,有着众多的优点,比如轻量、简单、基于集成、可以在JavaSE环境中使用等。不过在微服务时代,Shiro就显得力不从心了,在微服务面前,它无法充分展示自己的优势。
对于一个安全管理框架而言,无论是Shiro还是Spring Security,最核心的功能,无非就是如下两反面:

  • 认证
  • 授权

通俗点说,认证就是身份证(你是谁?)授权就是访问控制(你可以做什么?)。

认证

Spring Security支持多种不同的认证方式,Spring Security主流的认证机制主要如下几种:

  • 表单认证
  • OAuth2.0认证
  • SAML2.0认证
  • CAS认证
  • RememberMe自动认证
  • JAAS认证
  • OpenID去中心化认证
  • Pre-Authentication Scennarios认证
  • X509认证
  • HTTP Basic认证
  • HTTP Digest认证

作为一个开放的平台,Spring Security提供的认证机制不仅仅包括上面这些,我们还可以引入第三方依赖来支持更多的认证方式,如果这些认证方式无法满足我们的需求,我们也可以自定义认证逻辑。

授权

无论采用了上面的哪种认证方式,都不影响在Spring Security中使用授权功能。Spring Security支持基于URL的请求授权、支持方法访问授权、支持SpEL访问控制、支持域对象安全(ACL),同时也支持动态权限配置、支持RBAC权限模型等,总之,我们常见的授权管理需求,Spring Security 基本上都是支持的。

其他

在认证和授权两个核心功能之外,Spring Security还提供了很多安全管理的“周边功能”,这也是一个非常重要的特色。
Spring Security 的强大之处在于,即使你不了解很多网络攻击,只要使用了Spring Security,它会帮助我们自动防御很多网络攻击,例如CSRF攻击、会话固定攻击等,同时Spring Security还提供了HTTP防火墙拦截大量的非法请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值