`

Spring Security 初探

 
阅读更多
这两天在看spring security, 写些tips:
1. 作为业界最成熟的AA(Authentication & Authorization)框架, 目测其采用了Apache Shiro
2. 与通用做法一样,其AA做在了Filter 层 而非 Servlet层
3. 其本质上是一个filtechain
4. 利用两种工具达到AA控制的目的: a. 过滤器filters. b. 拦截器 interceptor
     过滤器主要用于URL 表单等认证. 拦截器主要通过annotation的方式对每个类,方法,属性进行细粒度的控制
5. 默认过滤器有这些:


6. 用户可以增加自己的过滤器,自己的过滤器位置可以指定
7. 过滤器控制的URL可以基于配置文件配置,也可以基于数据配置。
8. 核心过滤器之一 FilterSecurityInterceptor, 有两个重要的属性
   a. AuthenticationManager, 用于从数据源(可以是DB,文件)中获取认证信息
   b. AccessDecisionManager, 用于做授权处理,可能有很多个授权provider,根据这些providerd的授权“投票”结果,进行处理: 3种"投票"方案如下:
--------如果有一个赞成就同意(具体的说就是只要你在那个URL对应的几个用户组中的一个就让你访问)
--------如果都赞成就同意(具本的说就是那个URL对应的几个用户组里都有你,你才能访问)
--------如果都不反对就同意
9. spring security 有自己默认的权限tables, 如果要想定制化怎需要修改 JdbcDaoImpl 中的3条SQL

10.异常处理: spring security种 有很多异常处理类,比如访问被禁止。可以根据自己的需要处理。 有很多人奇怪为什么用了spring security自带的tutorial会自动产生一个loginPage.这其中就用到了异常处理机制:user 敲入初始url 的时候spring security接收到的request URL 是 “/”, 走完所有的默认filter之后产生异,系统处理异常,重定位新的URL: /j_spring_security_check.这时候重走所有的filter,被其中的DefaultLoginPageGeneratingFilter所处理,返回一个login page。
(待)
  • 大小: 15.3 KB
分享到:
评论

相关推荐

    Spring security初探

    NULL 博文链接:https://yzxqml.iteye.com/blog/1756106

    1.2 引入SpringSecurity 2. 认证 2.1 登陆校验流程 2.2 原理初探 2.2.1 SpringSecur

    springsecurity1.2 引入SpringSecurity 2. 认证 2.1 登陆校验流程 2.2 原理初探 2.2.1 SpringSecurity完整流程 2.2.2 认证流程详解 2.3 解决问题 2.3.1 思路分析 2.3.2 准备工作 2.3.3 实现 2.3.3.1 数据库校验用户 ...

    SpringBlade 开发手册.pdf

    本手册主要讲解 SpringBlade 的开发手册,包括环境要求、环境准备、基础环境安装、Nacos 安装、Sentinel 安装、Seata 安装、插件安装、工程导入、工程运行、工程测试、开发初探、新建微服务工程、第一个 API、鉴权 ...

    spring in action 最新

    此外,书中还涉及了Spring Security,帮助开发者理解和实施应用的安全控制。 《Spring in Action》的最新版还可能涵盖了Spring Boot、Spring Cloud等现代Spring生态系统的组件,这些技术极大地简化了Spring应用的...

    pring初探共18页.pdf.zip

    8. **Spring Security**:Spring提供的安全框架,用于身份验证和授权,如何配置以保护Web应用的安全。 9. **测试支持**:Spring提供的单元测试和集成测试工具,如Spring Test和Spring Boot Test,以及Mockito等库的...

    SpringBlade开发手册.pdf

    - **开发初探**:通过一系列实例帮助用户理解SpringBlade的核心功能和使用方式,包括创建微服务工程、API开发等。 ##### 2. 微服务开发实践 - **第一个API**:以一个简单的示例来演示如何创建和使用API,包括API...

    2.spring_beginning

    《Spring框架初探》 Spring框架是Java企业级应用开发中的重要组成部分,它以其轻量级、模块化和全面的特性赢得了广大开发者喜爱。本文将深入探讨Spring框架的基础知识,帮助初学者理解并掌握这一强大的工具。 首先...

    开源框架 Spring Gossip

    从代理机制初探 AOP 动态代理 <br>AOP 观念与术语 Spring AOP Advices Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。 Before ...

    spring 课件下载

    在最后一章,我们将探索Spring的一些高级特性,例如Spring Boot用于快速开发,Spring Cloud用于构建分布式系统,以及Spring Security进行权限控制和安全防护。此外,我们还将学习Spring Integration和Spring Batch...

    GWT通信机制初探

    - **安全控制**:Spring的安全框架(如Spring Security)可以与GWT应用集成,提供用户认证和授权功能。 - **数据持久化**:Spring Data JPA或其他ORM工具可以用来处理数据库操作,使GWT应用能方便地访问后端数据。 ...

    spring-boot-1

    这个名为"spring-boot-1"的项目很可能是对Spring Boot的初探或者是某个特定版本的示例代码库。虽然没有提供具体的标签,我们可以根据Spring Boot的核心特性来探讨相关的知识点。 1. **Spring Boot基础**: Spring ...

    java8源码-tp-practice:千里之行,始于足下

    OAuth2.0初探 学习编写 REST 接口测试用例 学习自定义 validator 学习自定义 filter 学习自定义 interceptor 自定义 aspect 学习 REST 接口多线程编程 Thread#start Thread#stop spring boot 1.5.20.RELEASE spring ...

    网上购物系统的设计与开发初探(硕士毕业论文)

    JSP和Servlet可以结合过滤器、安全框架(如Spring Security)来防止SQL注入、XSS攻击等,同时,系统需要保护用户的隐私数据,如使用HTTPS协议加密传输,以及对敏感操作进行身份验证和权限控制。 总的来说,这篇论文...

    java网上商城的初期模板,仅供参考

    Spring Security提供了一套完整的安全解决方案,包括用户认证、权限控制等功能。 四、购物车与订单处理 1. **购物车实现**:购物车通常通过Session来存储用户选择的商品,当用户确认购买时,将购物车中的商品转化...

    源码shoot10.17.rar(0积分下载)

    同时,配合Spring Security,可以实现权限控制和用户认证,为应用提供安全的访问环境。在这个项目中,我们可能会看到如何定义控制器处理HTTP请求,以及如何通过模型视图来传递数据到前端页面。 接下来,密码的安全...

    sms_0.1.rar_family8x8_java_www.sms 1188.com

    安全性方面,Apache Shiro或Spring Security可能被用来处理用户认证和授权,确保系统安全。 总的来说,"sms_0.1.rar"是一个基于Java开发的学生管理系统,可能具备一套完整的用户管理和教学管理功能,其设计简洁,...

    JEECG 快速开发指南

    - **权限管理**:集成Spring Security或Shiro,实现细粒度的权限控制。 - **工作流引擎**:可能集成Activiti或Flowable,支持业务流程的建模和执行。 - **数据源管理**:支持多数据源配置,便于数据隔离和分布式部署...

    Java-Handelsportal-:Java Handelsportal,首次GitHub测试

    6. **安全性**:考虑到电子商务涉及敏感的用户信息和交易数据,项目可能会采用Spring Security或者Apache Shiro等安全框架,实现身份验证、授权和加密等功能,确保系统安全。 7. **测试与持续集成**:在GitHub上的...

Global site tag (gtag.js) - Google Analytics