Spring Security介绍

1 、Spring Security概念

  • Spring Security是spring采用AOP思想,基于servlet过滤器实现的安全框架。它提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架、 Spring Security是 Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富;
  • Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准;
  • Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring
    Security的真正强大之处在于可以轻松扩展以满足自定义要求。

在 Java 生态中,目前有 Spring Security 和 Apache Shiro 两个安全框架,可以完成认证和授权的功能。

我们先来学习下 Spring Security 。其官方对自己介绍如下:

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.

Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。

Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirementsSpring

Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正威力在于它可以多么容易地扩展以满足定制需求

一般Web应用的需要进行认证和授权。

认证(Authentication):验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户

授权(Authorization):经过认证后判断当前用户是否有权限进行某个操作

而认证和授权就是SpringSecurity作为安全框架的核心功能。

2、Spring Security、Apache Shiro 选择问题

shiro的优点

shiro的代码更易于阅读,且使用更加简单;
shiro可以用于非web环境,不跟任何框架或容器绑定,独立运行;

shiro的缺点

授权第三方登录需要手动实现;

spring-security的优点

spring-security对spring整合较好,使用起来更加方便;
有更强大的spring社区进行支持;
支持第三方的 oauth 授权,官方网站:spring-security-oauth;spring Security的权限细粒度更高.

spring-security的缺点

离不开spring

总结:spring生态、对全权限控制力度比较细、后续扩展三方授权,所以全选spring security;