广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springSecurity之如何添加自定义过滤器
  • 488
分享到

springSecurity之如何添加自定义过滤器

2024-04-02 19:04:59 488人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录springSecurity 添加自定义过滤器很简单,配置如下然后再来看看myFilterspringSecurity 自定义认证过滤器出现的问题解决方法springSecuri

springSecurity 添加自定义过滤器

我们知道,springSecurity其实就是将过滤器和aop进行整合。其实我们也可以添加自己的过滤器。

很简单,配置如下


<Http use-expressions="false" entry-point-ref="loginEntryPoint">
  <intercept-url pattern="/user.jsp" access="ROLE_USER,ROLE_ADMIN"/>
  <intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/>
  <intercept-url pattern="
  public ServletRequestWrapper(httpservletRequest request) {
    super(request);
    requestParam = HttpUtil.getBodyString(request);
    body = requestParam.getBytes(Charset.forName("utf-8"));
  }
  @Override
  public BufferedReader getReader() throws IOException {
    return new BufferedReader(new InputStreamReader(getRequest().getInputStream(), Charset.forName("UTF-8")));
  }
  @Override
  public ServletInputStream getInputStream() throws IOException {
    return new CustomServletInputStream();
  }
  private class CustomServletInputStream extends ServletInputStream {
    private ByteArrayInputStream inputStream = new ByteArrayInputStream(body);
    @Override
    public boolean isFinished() {
      return false;
    }
    @Override
    public boolean isReady() {
      return false;
    }
    @Override
    public void setReadListener(ReadListener listener) {
    }
    @Override
    public int read() throws IOException {
      return inputStream.read();
    }
  }
  public String getRequestParam() {
    return requestParam;
  }
}

HttpUtil.java


public class HttpUtil {
  public static String getBodyString(ServletRequest request) {
    BufferedReader bufferedReader = null;
    InputStream inputStream = null;
    StringBuilder sb = new StringBuilder("");
    try {
      inputStream = request.getInputStream();
      bufferedReader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("utf-8")));
      String line = "";
      while ((line = bufferedReader.readLine()) != null) {
        sb.append(line);
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (bufferedReader != null) {
        try {
          bufferedReader.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
      if (inputStream != null) {
        try {
          inputStream.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    return sb.toString();
  }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: springSecurity之如何添加自定义过滤器

本文链接: https://www.lsjlt.com/news/133649.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springSecurity之如何添加自定义过滤器
    目录springSecurity 添加自定义过滤器很简单,配置如下然后再来看看myFilterspringSecurity 自定义认证过滤器出现的问题解决方法springSecuri...
    99+
    2022-11-12
  • vue如何自定义过滤器
    在vue中自定义过滤器的方法:1.新建vue.js项目;2.使用Vue.filter()方法自定义过滤器;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建好后...
    99+
    2022-10-06
  • Spring Cloud Zuul如何实现自定义过滤器
    小编给大家分享一下Spring Cloud Zuul如何实现自定义过滤器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!构建Zuul自定义过滤器,限制ip频繁请求自定义zuul过滤器其实很简单1. 首先pom文件得先引入zu...
    99+
    2023-06-14
  • Spring Security之默认的过滤器链及自定义Filter操作
    Spring Security 过滤器链及自定义Filter 别名 类名称 Na...
    99+
    2022-11-12
  • vue如何定义私有过滤器
    小编给大家分享一下vue如何定义私有过滤器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!私有过滤器和全局过滤器的方法和概念都相同,只是一个是全局都可以调用,而私有的只有自己可以调用,全局过滤器点这里全局过滤器使用方法也和全...
    99+
    2023-06-25
  • 如何为Repository添加自定义方法
    目录为Repository添加自定义方法一、为某个Repository添加自定义方法二、添加全局Repository继承jpa Repository 写自定义方法查询首先定义实体类是...
    99+
    2022-11-12
  • 使用SpringBoot如何实现自定义过滤器与拦截器
    使用SpringBoot如何实现定义过滤器与拦截器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、自定义过滤器创建一个过滤器,实现javax.servlet.Filter...
    99+
    2023-05-31
    springboot 拦截器 监听器
  • 如何在vue中使用过滤器和自定义指令
    本篇文章给大家分享的是有关如何在vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。过滤器过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果过滤...
    99+
    2023-06-15
  • 如何向pyhanlp添加自定义的词典
    小编给大家分享一下如何向pyhanlp添加自定义的词典,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!以python 2.7.9为例:安装pyhanlp:pip i...
    99+
    2023-06-02
  • WordPress如何添加自定义字段面板
    这篇文章主要介绍了WordPress如何添加自定义字段面板的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇WordPress如何添加自定义字段面板文章都会有所收获,下面我们一起来...
    99+
    2023-03-07
    wordpress
  • 如何在jQuery中添加自定义方法
    随着前端技术的不断发展,越来越多的网站开始采用动态效果来丰富用户界面。jQuery是一种非常受欢迎的JavaScript库,它简化了对DOM、事件、AJAX等的操作,并提供了许多方便的方法和函数以快速创建动态效果。在此基础上,jQuery允...
    99+
    2023-05-14
  • 如何使用RequestHeaders添加自定义参数
    目录RequestHeaders添加自定义参数问题一原因解决方案修改request中header的值RequestHeaders添加自定义参数 在开发过程中有的时候,参数需要绑定到r...
    99+
    2022-11-13
  • Spring MVC如何通过添加自定义注解格式化数据
    这篇文章主要为大家展示了“Spring MVC如何通过添加自定义注解格式化数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring MVC如何通过添加自定义注解格式化数据”这篇文章吧。sp...
    99+
    2023-05-30
    springmvc
  • Django零基础入门之自定义过滤器及模板中的使用
    目录引言自定义过滤器(1)首先(2)内置过滤器lower的使用:(3)自定义过滤器的使用:(4)模板中使用自定义过滤器:(5)效果展示:引言 分析Django内置的模板过滤器: 通...
    99+
    2022-11-12
  • 如何在atom中添加自定义快捷键
    这篇文章主要讲解了“如何在atom中添加自定义快捷键”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在atom中添加自定义快捷键”吧!问题的描述在使用Markdown写学习笔记的时候,一开...
    99+
    2023-06-29
  • Asp.Net Core如何添加请求头自定义认证
    小编给大家分享一下Asp.Net Core如何添加请求头自定义认证,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!要点实现 IAuthenticationHandler 接口:4 个方法首先会调用 InitializeAsy...
    99+
    2023-06-14
  • 为PHP运行时如何添加自定义扩展
    这篇文章将为大家详细讲解有关为PHP运行时如何添加自定义扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 语言提供了一种扩展机制(Extension),通过 PHP 扩展可以增强语法、调用 C/C...
    99+
    2023-06-04
  • 如何分析Django中编写自定义模板标签tags和过滤器
    这篇文章给大家介绍如何分析Django中编写自定义模板标签tags和过滤器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准...
    99+
    2023-06-04
  • Android Studio如何为Activity添加自定义注解信息
    普通Java-Kotlin类添加注释 添加类时注释作者信息和日期时间 依次打开 File—>Settings—>editor—>File and Code Tem...
    99+
    2022-11-12
  • 如何在SAP C4C TI页面里添加自定义UI
    本篇内容主要讲解“如何在SAP C4C TI页面里添加自定义UI”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在SAP C4C TI页面里添加自定义UI”吧!SAP C4C的自开发UI可以放...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作