【Spring Security学习之一】Spring Security入门
一、Spring Security是什么
Spring Security的前身是Acegi Security ,是Spring项目组中用来提供安全认证服务的框架。Spring Security是一个强大且高度可定制的安全框架,致力于为Java应用提供身份认证和授权。
二、Spring Security能干什么
spring security 的核心功能主要包括:身份认证 (你是谁)、权限授权 (你能干什么)、攻击防护 (防止伪造身份)。
其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式。
三、Spring Security与Shiro
1、区别
相同点:
Spring Security和Shiro都是安全框架,都具有认证、授权等功能;
不同点:
(1)Shiro的配置和使用比较简单灵活,Spring Security上手复杂、学习成本高;
(2)Shiro依赖性低,不需要任何框架和容器,可以独立运行,而Spring Security依赖于Spring容器;
(3)Spring Security功能比Shiro更加丰富些;
2、技术选型
Spring Security是Spring家族中的一个安全管理框架,实际上,在Spring Boot出现之前,Spring Security就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是Shiro的天下。
相对于 Shiro,在SSM/SSH中整合Spring Security都是比较麻烦的操作,所以,Spring Security 虽然功能比Shiro强大,但是使用反而没有Shiro多(Shiro 虽然功能没有 Spring Security 多,但是对于大部分项目而言,Shiro 也够用了)。
自从有了 Spring Boot 之后,Spring Boot对于Spring Security提供了自动化配置方案,可以零配置使用 Spring Security。
因此,一般来说,常见的安全管理技术栈的组合是这样的:
SSM + Shiro
Spring Boot/Spring Cloud + Spring Security
参考:
Spring Security 参考手册
Spring Security 入门原理及实战