Spring Security(一) 简介

简介

Spring Security 是什么?

spring security 是基于spring框架,提供了一套 Web 应用安全性的完整解决方案一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。

用户认证

Spring Security 提供了自己的一组认证功能,包括LDAP,CAS,Spring远程协议,Form-based authentication (用于简单的用户界面),OpenID 认证,由于灵活的身份验证模式,使得它们可以快速的应用到项目方案中去

用户授权

无论何种身份验证机制,Spring Security提供一套的授权功能。这里有三个主要的热点区域,授权web请求、授权方法是否可以被调用和授权访问单个域对象的实例。

项目搭建

本文是基于Spring boot 框架搭建Spring Security的使用

首先在Maven 的pom.xml 依赖配置

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

spring boot starter工程对于使用者是非常方便的,使用者通常只要在pom.xml引入starter的jar,则此工程依赖的类,就全部自动引入。但为了更加清楚了解整个Spring Security,简单介绍一下,项目模块

核心模块 - spring-security-core.jar

包含核心的验证和访问控制类和接口,远程支持和基本的配置API。任何使用Spring Security的应用程序都需要这个模块。支持独立应用程序、远程客户端、服务层方法安全和JDBC用户配置。包含以下顶层包:

  • org.springframework.security.core

  • org.springframework.security.access

  • org.springframework.security.authentication

    扫描二维码关注公众号,回复: 3334207 查看本文章
  • org.springframework.security.provisioning

远程调用 - spring-security-remoting.jar

提供与Spring Remoting的集成,通常你不需要这个模块,除非你挣使用Spring Remoting编写远程客户端。主要的包是 org.springframework.security.remoting.

网页 - spring-security-web.jar

包括网站安全相关的基础代码。使用Servlet API的任何应用都需要依赖它。如果你需要Spring Security网页验证服务和基于URL的访问控制你需要这个模块。主包名为 org.springframework.security.web.

LDAP - spring-security-ldap.jar

LDAP验证和配置代码,如果你需要使用LDAP验证和管理LDAP用户实体,你需要这个模块。主包名为 org.springframework.security.ldap.

ACL访问控制表 - spring-security-acl.jar

ACL专门的领域对象的实现。用来在你的应用程序中应用安全特定的领域对象实例。主包名为 org.springframework.security.acls.

CAS - spring-security-cas.jar

Spring Security的CAS客户端集成。如果你想用CAS的SSO服务器使用Spring Security网页验证需要该模块。顶层的包是 org.springframework.security.cas.

OpenID - spring-security-openid.jar

OpenID 网页验证支持。使用外部的OpenID服务器验证用户。 org.springframework.security.openid. 需要 OpenID4Java.

Test - spring-security-test.jar

支持Spring Security的测试。

或许对于刚接触的Spring Security可能对这些模块生疏,不要担心在接下来的系列文章中我会都用到这些模块,倒时会有详细的介绍及使用

猜你喜欢

转载自blog.csdn.net/jiangbr/article/details/82458142