zoukankan      html  css  js  c++  java
  • SpringSecurity笔记1-初印象

    简介


    基本原理


    简单流程

    • 客户端发起一个请求,进入 Security 过滤器链。

    • 当到 LogoutFilter 的时候判断是否是登出路径,如果是登出路径则到 logoutHandler ,如果登出成功则到 logoutSuccessHandler 登出成功处理,如果登出失败则由 ExceptionTranslationFilter ;如果不是登出路径则直接进入下一个过滤器。

    • 当到 UsernamePasswordAuthenticationFilter 的时候判断是否为登录路径,如果是,则进入该过滤器进行登录操作,如果登录失败则到 AuthenticationFailureHandler 登录失败处理器处理,如果登录成功则到 AuthenticationSuccessHandler 登录成功处理器处理,如果不是登录请求则不进入该过滤器。

    • 当到 FilterSecurityInterceptor 的时候会拿到 uri ,根据 uri 去找对应的鉴权管理器,鉴权管理器做鉴权工作,鉴权成功则到 Controller 层否则到 AccessDeniedHandler 鉴权失败处理器处理。


    相关依赖

    • 如果是SpringBoot项目,引入以下依赖即可
    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    
    • 如果项目中引入了 spring-cloud-dependencies依赖
      就可以用SpringCloud的OAuth2的依赖,该依赖下包含spring-cloud-starter-security,即同时引入OAuth2和Security的依赖 ,如下:
    <dependency>
    	<groupId>org.springframework.cloud</groupId>
    	<artifactId>spring-cloud-starter-oauth2</artifactId>
    </dependency>
    
    • 注意:自行选择合适版本的依赖,如果我理解错误请指出

    简单使用

    @RestController
    public class Hello {
    
        @RequestMapping("/hello")
        public String hello(){
            return "hello spring security";
        }
    }
    
    • 启动项目后访问 /hello 会跳转到 /login
      默认用户名为 user,密码在控制台日志查看,登录成功即可正常访问 /hello
  • 相关阅读:
    spring 注解学习 一 Bean的注入
    jdk动态代理详解 二 代理失效
    jdk动态代理详解 一 入门
    tomcat中web应用的目录结构
    mongoose与mongodb 的版本兼容性表格
    树莓派3B安装ffmpeg过程记录
    ESP8266驱动SSD1306 ESP8266 for Arduino(NodeMCU U8G2库)
    ESP8266 for Arduino开发环境安装
    Mongodb3.4升张到4.0过程
    使用webgl(three.js)创建自动化抽象化3D机房,3D机房模块详细介绍(抽象版一)
  • 原文地址:https://www.cnblogs.com/wuba/p/11823934.html
Copyright © 2011-2022 走看看