Servlet 过滤器不适用于容器管理的登录页面

2024-05-07

我正在使用一个Filter在我的所有页面中插入反点击劫持标头 - 这可以正常工作,但 JBoss EAP 6.3 容器管理的登录页面除外,这是拥有该功能的更重要的页面之一。

登录页面根本不会调用过滤器,该页面由http://localhost/Application/。我尝试过的过滤器映射包括

<filter>
    <filter-name>InsertXFrameOptions</filter-name>
    <filter-class>com.filter.InsertXFrameOptionsFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>    
<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>/</url-pattern>
</filter-mapping>

但一点运气都没有 - 如何映射过滤器以使其适用于容器管理的登录页面?


过滤器不启动j_security_check要求。在访问 Web 应用程序的过滤器之前,它们由容器在内部进行处理。因此,您需要使用特定于容器的解决方案来挂钩请求/响应。

JBoss 6.x/7.x(以及所有其他基于 Tomcat 的容器)提供Valves https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.3/html/Development_Guide/chap-Valves.html为了这。基本上,更换你的Filter by a Valve which 看起来像下面 https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.3/html/Development_Guide/Create_a_Custom_Valve.html:

import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.valves.ValveBase;

public class InsertXFrameOptionsValve extends ValveBase {

    @Override
    public void invoke(Request request, Response response) throws IOException, ServletException {
        response.addHeader("X-Frame-Options", "SAMEORIGIN");
        getNext().invoke(request, response);
    }

}

为了让它运行起来,register https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.3/html/Development_Guide/Configure_a_Web_Application_to_use_a_Valve.html it in jboss-web.xml像下面这样:

<valve>
    <class-name>com.example.InsertXFrameOptionsValve</class-name>
</valve>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Servlet 过滤器不适用于容器管理的登录页面 的相关文章

  • jsp/servlet 从数组填充下拉框

    大家好 我正在尝试创建一个表单 允许您为某个主题创建一个实验室 它有一个下拉框 您可以在其中选择与该用户相关的主题 但是 当我去加载页面时 我收到此错误g apache jasper JasperException java lang Nu
  • 在Java Servlet中获取通过jquery ajax发送的参数[重复]

    这个问题在这里已经有答案了 我在网上搜索这个主题 但找不到有效的示例 我会很高兴有人能给我帮助 这就是我测试的 ajax url GetJson type POST dataType json contentType application
  • 不同 servlet-api 版本冲突

    我正在使用 Maven 和 Jetty 作为服务器来开发 RestEasy Web 服务 其中一项服务应使用扩展 javax servlet http HttpServletResponseWrapper 的 Filter 问题出在来自 s
  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co
  • Permissions-Policy 标头错误:无法识别的功能:“interest-cohort”

    我才刚刚开始反应 我的页面在本地主机上运行良好 现在我正尝试在 github 上托管我的页面 我使用了 npm run deploy 并托管 这是我的 package json 现在 当我尝试访问我的页面时 我遇到了错误 第一个警告最让我担
  • AngularJS 忽略一些标头

    我正在玩一点 Angular 遇到了一个小问题 我正在尝试为http响应设置一个自定义标头 然后在角度方面读取它的值 标头已设置 我确信这一点 因为 chrome 的调试工具确认了 这意味着服务器端没问题 到目前为止 一切都很好 当我尝试通
  • 将对象列表传递给 Freemarker 然后循环

    我已经熟悉了 FreeMarker 一个 Java 模板引擎 我已经能够通过哈希映射将对象传递给模板引擎了 这样就可以了 但是 一旦我尝试将任何类型的多个对象集传递给 FreeMarker 它就会给我一个 freemarker templa
  • 使用 Servlet 3.0 上传文件时 request.getParameter() 是否仍然有效?

    我刚刚读过这个很好的答案 https stackoverflow com questions 2422468 how to upload files in jsp servlet 2424824 2424824来自 BalusC 关于如何使
  • 请求调度概念的包含和转发机制之间的区别?

    Forward 这可以通过 Request 两种方式完成 ServeletContext 将请求从 servlet 转发到另一个资源 servlet JSP 文件或 HTML 文件 在服务器上 转发完成于 服务器端 在客户端不知情的情况下
  • 在 Java Servlet 中上传文件

    我有一个 Java 动态 Web 项目 并且正在使用 TomCat v7 0 我是 Web 项目的新手 不太明白如何在我的 jsp 页面之一中上传文件 由于我的项目只是本地的 所以我认为我可以使用多部分形式 其中人们可以选择文件 并且这部分
  • Spring MVC 应用程序可以是多线程的,即使它的 servlet 不是吗?

    当您谈论 Spring 应用程序是多线程时 您是否一定是指该应用程序中定义的 servlet 是否是多线程的 或者即使应用程序中的 servlet 不是多线程 Spring 应用程序也可以配置为多线程吗 不再支持单线程 servlet 它们
  • 是否可以将默认内容类型设置为“application/json;v=2.0”

    是否可以将默认内容类型设置为 application json v 2 0 我说默认是因为我使用 HttpClient 类 并且使用 DefaultRequestHeaders 将代理设置为默认值 我按照这个例子来创建我的标题https s
  • 有没有办法测量 Java (Servlet) I/O 流量?

    我尝试做的是使用以下代码实现 servlet 过滤器 int up request getContentLength if HttpServletRequest request getQueryString null up Math max
  • Apache FileUpload API 中的 InputStream 已关闭

    这是一个非常具体的问题 我希望这里有人对 FileUpload API 有很好的了解 如果您使用过此 API 您应该知道 当超过文件的最大大小时 将无法读取下一项 因为会抛出 FileSizeLimitExceededException 并
  • 如何映射“根”Servlet 以便其他脚本仍然可以运行?

    我正在尝试构建一个调用 JSP 页面的 Servlet 类似于以下内容 public void doGet HttpServletRequest req HttpServletResponse resp throws IOException
  • 从 RestSharp 响应标头获取值

    我希望有人可以帮助解决我在使用 RestSharp 时遇到的问题 一切正常 我使用以下代码得到回复 var client new RestClient http mybaseuri com var request new RestReque
  • 如何更改 angularjs $http.jsonp 的标头

    我读了document http docs angularjs org api ng 24http 但我想我一定是误解了 http defaults headers jsonp Accept application json http js
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • 保持 WebSocket 连接处于活动状态

    我正在研究 WebSocket 协议 并尝试在后端使用 Python 实现一个简单的 ECHO 服务 它似乎工作正常 但连接建立后立即断开 这是我的客户
  • 本地主机上的 .net HTTP_X_FORWARDED_FOR NULL

    抱歉 如果其他地方已经回答了这个问题 我找不到它 如果没有 我会尝试查找访问过该站点的机器的原始 IP 根据我的基本理解 变量HTTP X FORWARDED FOR无论代理和其他过滤器如何 都会显示用户的 IP 如果这是真的 我正在尝试对

随机推荐

  • 当用户滚动到页面底部时显示页脚

    这是我的页脚代码 div class row div class col md 12 div the part that always showing at the bottom div div div class col md 12 di
  • 有没有办法以编程方式检查 Excel 文件是否已打开

    我想检查特定的 Excel 文件是否已打开 否则 当我在 C 程序中重新打开同一文件时 它将以只读格式打开 有什么方法可以查出文件是否已经打开 如果该文件被另一个程序打开 则此代码可以帮助您找出该文件 但您将无法打开它 protected
  • 确定 .NET 类型的序列化大小和非托管内存效率

    我的问题是是否可以确定引用类型的序列化大小 以字节为单位 情况如下 我使用 BinaryFormatter 类来序列化基本 NET 类型 例如 Serializable public class Foo public string Foo1
  • 旋转设备后 Android 对话框重新打开

    我正在编写一个非常简单的应用程序来打开我的自定义共享对话框 XML 布局仅包含 1 个按钮
  • 在Rcpp中编译多个源文件

    我有以下目录结构 my func my func r cpp my func c my func h my func test c matrix matrix h matrix c The matrix目录包含一些矩阵结构matrix h以
  • 将图像小部件调整为父级高度但溢出宽度

    我想创建一个图像小部件 其大小适合其父级的高度 但随后根据显示图像的纵横比溢出父级的宽度 我试过了FittedBox和组合LayoutBuilder and SizedOverflowBox 但没有运气 到目前为止 我只能将图像的宽度和高度
  • 在 ttk 进度条中显示百分比

    我正在尝试显示百分比ttk Progressbar当该功能运行时提醒用户已执行的过程的范围以及剩余的内容 我能够显示百分比 但百分比最多23 哪一个是length of my tuple 我怎样才能让它达到100 length of tup
  • FreeMM 与 ShareMem

    我们有很多用 delphi 和 c builder 编写的 dll 库 并使用 sharemem 和 borlndmm dll 3d party 库中的对齐问题迫使我们转向 delphi 2007 中的新内存管理器 有人可以帮我解释一下 共
  • Linux 上的 OpenCL 编译

    我是 OpenCL 的新手 从昨天开始 我尝试使用 OpenCL 进行并行编程 而不是使用我更熟悉且以前体验过的 CUDA 现在我有 NVIDIA GTX 580 GPU Ubuntu Linux 12 04 操作系统和 CUDA SDK
  • 比较java中的数组和索引位置[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在一次 java 面试中 有人问我如
  • JS - document.getelementbysrc?

    是否可以从 src 属性的值获取元素 没有 DOM 方法可以按属性过滤元素 您需要遍历特定标签的所有元素并过滤掉那些匹配的元素src value function getElementsBySrc srcValue var nodes va
  • pandas:分割字符串和计数值? [复制]

    这个问题在这里已经有答案了 我有一个 pandas 数据集 其中有一列是逗号分隔的字符串 例如1 2 3 10 data id 1 score 9 topics 11 22 30 id 2 score 7 topics 11 18 30 i
  • 如何对 int[] 数组求和[重复]

    这个问题在这里已经有答案了 给定一个数组A of 10 ints 初始化一个名为的局部变量sum并使用循环查找数组中所有数字的总和A 这是我提交的答案 sum 0 while A lt 10 sum sum A 我在这个问题上没有得到任何分
  • 鼠标悬停时 WPF 按钮背景透明度

    我正在尝试更改某些按钮上的鼠标悬停效果 因为它们设置了不同的自定义背景颜色 因此当前将相同浅蓝色的鼠标悬停方案不太适合 我目前得到了这个
  • MVVM 消息传递与 RaisePropertyChanged

    MVVM 消息传递和 RaisePropertyChanged 之间有什么区别 当视图模型 B 中的属性发生更改时 我尝试在视图模型 A 中运行函数 哪种方法更适合使用 消息传递还是 RaisePropertyChanged 广播 谢谢 尼
  • 如何从替换特殊字符的字符串创建 URL?

    我正在尝试从 iframe 内部发出 jsonp 请求 由于某种原因 它似乎不起作用 看到这个question https stackoverflow com questions 20422125 no callback in jsonp
  • Android Socket + ObjectOutputStream 无法正常工作

    我正在开发一个客户端 服务器程序 其中客户端是 Android 设备 服务器有一个从输入流读取对象的侦听器类 我为另一台计算机创建了一个客户端软件 该软件通过本地网络发送一个小对象 计算机到计算机工作得很好 我读取了该对象并打印了内容 但是
  • mongodb 中的 $size 与条件

    我正在使用聚合从两个集合中获取值 一个是文件夹 另一个是检查 我正在获取所有数据 但检查计数为 0 我的代码 mongo folder aggregate lookup from inspections localField id fore
  • UIWebview 中的 NSString

    我有一个NSString和我的项目中的 webView iPhone 的 Objective C 我称之为index html在 webView 及其内部我插入了我的脚本 javascript 如何在脚本中将 NSString 作为 var
  • Servlet 过滤器不适用于容器管理的登录页面

    我正在使用一个Filter在我的所有页面中插入反点击劫持标头 这可以正常工作 但 JBoss EAP 6 3 容器管理的登录页面除外 这是拥有该功能的更重要的页面之一 登录页面根本不会调用过滤器 该页面由http localhost App