zoukankan      html  css  js  c++  java
  • 代理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 的 输入域来进行 提交。

    有了这些信息,我们就可以创建 自己的  登陆页面了。

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    HashMap
    反射
    树状数组
    HashCode()函数详解
    容器总结
  • 原文地址:https://www.cnblogs.com/duffy/p/5427274.html
Copyright © 2011-2022 走看看