SpringSecurity提供了全面的基于J2EE的企业应用程序的安全服务,是一个功能强大的且高度可客制化的基于access
-control的框架,是基于Spring应用程序的事实上的安全框架,基于SpringAOP和Servlet 过滤器的安全框架。
SpringSecurity提供了一个完整的解决方案,用于处理Web层请求(严格控制URL的访问)和方法调用层(SpringAOPen)的安全,包括认证和授权。
1. Authentication与Authorization(or access -control)
Authentication是建立一个可认可的Principal的过程,这个Principal可以是一个user,设备 或者是可以在应用程序
中执行一个操作的其他系统; Authorization指决定一个Principal能否在应用程序中执行操作的过程。为了实现什么
时候一个Authorization需要,Princiapl的一致性在建立Principal的过程中已经被建立。
2. SpringSecurity-Project Modules
(1) Core - spring-security-core.jar
包含核心的Authentication和访问控制类和接口,远程服务支持及基本的API。
(2) Web - spring-security-web.jar
包括过滤器和相关Web安全的基础代码,如果需要SpringSecurity Web认证服务以及使用基于URL的访问控制,则
需要使用该JAR文件。
(3) Config - spring-security-config.jar
包括Security命名空间解析代码。
(4) LDAP - spring-security-ldap.jar
LDAP认证以及基础代码。
(5) Tag Library - spring-security-taglibs
用于视图层安全的JSP标签。
(6) CAS - spring-security-cas-client.jar
与CAS客户端集成辅助类。
(7) OpenID - spring-security-openid.jar
用于支持使用外部OpenID服务器的认证。
(8) ACL-spring-security-acl
用于在应用程序中将安全应用到特定的域对象实例上。
3.SpringSecurity的特性
(1) 可移植:基于SpringSecurity的安全体制,可降低部署至不同的服务器时调整应用程序自身的配置的工作量,所
有同安全相关的配置都将内置在应用本身;
(2) 支持大量企业级特性:如支持多种认证策略,控制并发HttpSession,自定义退出逻辑,集成第三方安全解决方案;
(3) 易于实施集成测试或CI(Continuous Intefration)工作。
分享到:
相关推荐
可能是使用Draw.io绘制的SpringSecurity架构图或流程图,帮助可视化理解SpringSecurity的工作原理。 总之,SpringSecurity为开发者提供了强大的安全工具,通过灵活的配置和丰富的扩展性,能够满足各种复杂的Web...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
4. **Spring MVC**:作为Spring框架的一部分,Spring MVC是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了请求处理、视图解析、数据绑定等功能。 5. **数据访问**:Spring支持多种数据库访问技术...
在 `SpringSecurityTest01` 这个压缩包文件中,你可能找到了一个示例项目,它可能包含了配置类、控制器、视图和测试用例。通过分析这些代码,你可以更深入地理解如何在实际项目中应用 Spring Security。 总之,...
1. **SpringCloud简介** SpringCloud是基于SpringBoot进行快速构建分布式系统的工具集,它利用SpringBoot的开发便利性简化了配置和服务管理,使得开发者可以轻松地实现云应用的开发、部署和管理。 2. **Eureka服务...
**Spring Security OAuth 知识点详解** Spring Security OAuth 是一个广泛使用的安全框架,它提供了OAuth 2.0的实现,用于构建安全的Web应用程序和服务。OAuth允许第三方应用以受限制的方式访问用户的数据,同时...
分布式、高并发、低耦合、服务化大型...Maven项目构建: SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap
【Spring Boot核心技术笔记1】 Spring Boot是Spring框架的延伸,旨在简化Spring应用的开发过程,它将整个Spring技术栈整合在一起,提供了一种快速构建和部署J2EE应用程序的解决方案。Spring Boot的核心特点在于它的...
1. **名称变化**:Acegi更名为Spring Security,更名后功能更加全面,架构也有所优化。 2. **API更新**:Spring Security的API进行了调整,比如`FilterSecurityInterceptor`替换为`SecurityContextHolder`和`...
7. **Spring安全(Spring Security)**: `spring_security.sql`和`spring_security.txt`可能涉及到Spring Security的基本概念,如用户认证、权限控制、基于角色的访问控制(RBAC),以及如何配置和定制安全规则。...
1. **创建项目结构**:首先创建一个父工程,如 "Spring-Security",然后在其中创建子模块,用于管理和组织各个组件。 2. **创建 Spring Boot 工程**:在 "Spring-Security" 父工程下创建一个新的 Spring Boot 工程...
12. **安全控制**:Spring Boot集成了Spring Security,提供了一套安全解决方案,包括用户认证、授权等。通过`@EnableWebSecurity`和`@ConfigurationProperties`,我们可以自定义安全设置。 以上仅是Spring Boot...
3. **保护API**:在微服务架构中,Spring Security 可以配合OAuth2 保护后端API,确保只有合法的客户端能够访问。 以上就是关于Spring Security 和 OAuth2 的主要知识点,它们是构建安全Web应用的重要工具,通过...
从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3"则可能讲解了Spring MVC、Spring Boot或Spring Data等内容。 为了充分利用...
Spring框架是Java开发中最常用的轻量级框架之一,它以其依赖注入(Dependency Injection,...通过阅读"Spring笔记.pdf"、"Spring笔记1.pdf"和"Spring编程学习笔记2.pdf",初学者可以系统地学习并理解Spring框架的精髓。
分布式项目实战包括了项目介绍、数据库设计、PDMan:tkMapper简介、MyBatis-plus、tkMapper、SpringSecurity、Swagger等技术知识点。 二、项目背景 《锋迷商城》项目是一个电商平台,包括了B2C商家对客户、C2B客户...
10. **Spring Security**:Spring Security 是一套强大的安全框架,用于保护 Web 应用的安全,提供身份验证、授权等功能。 通过《Spring5 尚硅谷框架课堂笔记.pdf》的学习,读者不仅可以掌握 Spring 框架的基本使用...
1. **控制反转(IoC)**:Spring通过IoC容器管理对象的生命周期和依赖关系,使得开发者不再需要在代码中手动创建和管理对象,而是由容器负责。这样提高了代码的可测试性和可维护性。 2. **依赖注入(DI)**:IoC的...
一、Spring Security基本架构 1. **过滤器链**:Spring Security的核心是基于Servlet过滤器的过滤器链。每个过滤器负责特定的安全任务,如身份验证、权限检查等。例如,`HttpSessionAuthenticationFilter`处理基于...
1. **Spring框架概述**:Spring是一个开源的Java平台,提供了一个全面的编程和配置模型,支持构建更简洁、更易于测试和维护的应用程序。它强调了代码的可测试性,通过模块化设计,使得开发者可以只关注业务逻辑,而...