代理Servlet过滤器
Spring Security借助一些列Servlet 过滤器 来提供 各种 安全性功能。
我们只需要在应用中的 web.xml 中配置 一个过滤器。
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
DelegatingFilterProxy是一个特殊的 Servlet 过滤器,它本身所做的工作不多。
只是将工作 委托给 一个 javax.servlet.Filter 实现类,这个实现类作为一个 <bean>注册在 Spring 应用上下文中。
为了完成各自的工作内容,Spring Security 的 过滤器 必须注入 一些 其他的 Bean。
我们 无法对 注册 在 web.xml 中的 servlet 过滤器 进行 Bean 注入。
但是,通过使用 DelegatingFilterProxy , 我们可以在 Spring 中 配置 实际的 过滤器,从而 能够 充分利用 Spring 对 依赖注入的支持。
DelegatingFilterProxy 的 <filter-name> 值 是有意义的。
这个名字 用于 在 Spring 应用上下文中 查找 过滤器Bean。 Spring Security 将自动 创建 一个 ID 为 springSecurityFilterChain的 过滤器Bean,
这就是 我们在 web.xml 中 为 DelegatingFilterProxy 所设置的 name 值。
springSecurityFilterChain 本身 是另一个 特殊的 过滤器,他也被称为 FilterChainProxy。
它可以 链接 任意 一个 或 多个其它的 过滤器。
Spring Security 依赖一系列Servlet 过滤器来 提供 不同 的 安全性。但是,你几乎不需要知道这些细节,
因为 你 不需要显示 声明 springSecurityFilterChain 以及 它所 链接 在一起的 其他 过滤器。
当配置 <http> 元素时, Spring Security 将 会为我们自动 创建 这些Bean。
j_spring_security_check
j_username
j_password
/spring_security_login 路径 来访问 这个自动生成的 表单。
我们知道 Spring Security 将在 /Spitter/j_spring_security_check路径下处理登陆请求。
而且很显然,用户名 和 密码 需要在请求 中 使用 名为 j_username 和 j_password 的 输入域来进行 提交。
有了这些信息,我们就可以创建 自己的 登陆页面了。
代理Servlet过滤器的更多相关文章
- Java Servlet 过滤器与 springmvc 拦截器的区别?
前言:在工作中,遇到需要记录日志的情况,不知道该选择过滤器还是拦截器,故总结了一下. servlet 过滤器 定义 java过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种 应用场景 ...
- Servlet过滤器---简介
过滤器的基本概念 Servlet过滤器从字面上的字意理解为经过一层次的过滤处理才达到使用的要求,而其实Servlet过滤器就是服务器与客户端请求与响应的中间层组件,在实际项目开发中Servlet过滤器 ...
- servlet过滤器Filter使用之DelegatingFilterProxy类
正常情况下,我们需要添加一个过滤器,需要实现javax.servlet.Filter接口,再在web.xml中配置filter,如下: package cc.eabour.webapp.securit ...
- Spring Security:Servlet 过滤器(三)
3)Servlet 过滤器 Spring Security 过滤器链是一个非常复杂且灵活的引擎.Spring Security 的 Servlet 支持基于 Servlet 过滤器,因此通常首先了解过 ...
- Servlet过滤器
Servlet过滤器 [TOC] 1.过滤器的基本概念 1.1.基本概念 过滤器(Filter)属于tomcat服务器中的Servlet功能.在普通的javaweb服务中,jsp中的请求要被Servl ...
- Servlet过滤器Filter用法
1 Servlet 过滤器方法 过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法:public void ...
- Servlet过滤器和监听器
1,Servlet过滤器 <filter> <filter-name>charset</filter-name> <filter-class>org.g ...
- Servlet 过滤器
一.过滤器介绍 在Servlet 2.3中定义了过滤器,它能够对Servlet容器的请求和响应进行检查和修改. Servlet过滤器能够在Servlet被调用之前检查Request对象,并修改Requ ...
- Servlet基础知识(四)——Servlet过滤器Filter
一.什么是过滤器: 政府大楼的安检保安,它既能对进入政府大楼的人员进行检查,只允许检查符合要求的进入:同时他也负责对出大楼的人进行检查,看他带出的东西是否符合要求. 同样的,Servlet中的过滤器既 ...
随机推荐
- kue
尝试着看英文的文档,你发现他其实并不难. https://www.npmjs.com/package/kue
- CSS cursor 和 opacity 属性
cursor :一些不同的光标,当设置该属性之后,鼠标指上去会随着属性而改变. 举例: <span style="cursor:crosshair">十字线</s ...
- 剑指offer面试题19 二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...
- 将input type="file" 类型的图片文件转成base64
带有图片的form表单上传数据是很麻烦的,因为图片通常都是和文字分开上传,这是很麻烦的,所有吧图片转成base64就可以和当成文字上传了.话不多少,看代码: 首先定义一个类型为file的input标签 ...
- 在使用DBMS_LOB.WRITEAPPEND()追加Clob内容的时候,报数字或值异常
在实际的使用中有可能会使用DBMS_LOB.WRITEAPPEND()去将Clob内容作为buffer增加到我们需要的对象中,但是在实际的使用中Clob大小往往是超过32767长度的,然而DBMS_L ...
- C#并行编程(1)
一.基于任务的程序设计 共享内存多核OS和分布式内存OS 共享内存多核OS-一个微处理器由多个内核组成,且每个内核共享一段私有内存: 分布式内存OS-- 由多个微处理器组成,每个微处理器可以有自己的私 ...
- mybatis----Integer = 0 刷选不出来条件原因以及sql改法
Xml写法: POJO: 当status的值为 0时该where SQLand status = 0并未正常拼接,也就是说test内的表达式为false,从而导致查询结果错误.但是,显然该值(Inte ...
- easyui panel自适应浏览器宽度
一.目标效果: 当浏览器窗口大小改变时.panel宽度始终为浏览器宽度的50%,panel高度则根据其中内容的多少而变化,横向竖向滚动条皆不出现.且不需要重新刷新浏览器或者其他js代码 兼容:chro ...
- Double H4.0
Double H4.0 修改完善已提交的需求规格说明书 https://docs.qq.com/doc/DTGxWRkh6c3ZLVldq?tdsourcetag=s_pcqq_file_edit&a ...
- Nginx 防盗链设置
何谓'盗链' 此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容. 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址( ...