如何创建 JSF 过滤器/url 模式来保护 javascript
How to create a JSF Filter/url-pattern to protect javascripts
我编写了一个Java Web过滤器来处理JSF应用程序的安全性。我有这样的过滤器映射:
<filter-mapping>
<filter-name>authFilter</filter-name>
<url-pattern>/secure/*</url-pattern>
<url-pattern>/login.jsf</url-pattern>
<url-pattern>/*.js.jsf</url-pattern> <--- invalid pattern
</filter-mapping>
现在我想创建一个URL模式来过滤所有JavaScript文件。我使用的是Primefaces,所以.js文件在URL中被引用,如下所示:
http://localhost:8080/MyProject/javax.faces.resource/MyJavascriptFile.js.jsf?ln=MyLibrary
我无法过滤整个javax.faces.resouces
因为它还包含 CSS 文件。有没有办法创建一个只匹配javascript的URL模式?
<url-pattern>/*.js.jsf</url-pattern> <--- invalid pattern
这确实是一个无效的 URL 模式。通配符*
只能位于 URL 模式的开头或结尾。在您的特定情况下,您根本不需要 /
前缀。
<url-pattern>*.js.jsf</url-pattern> <--- valid pattern
请注意,此问题与 JSF 无关。Servlet 过滤器是基本 Servlet API 的一部分。
另请参阅:
- 映射 servlet 以满足我的请求
*
通配符功能在 JSF 中受到限制,因为只允许一个 *,并且它必须位于"form-view-id"字符串的末尾。例如,(任何 xml)它有效。
<from-view-id>/customer/*</from-view-id>
它永远不会匹配...
<from-view-id>/cus*mer/</from-view-id>
<from-view-id>/c*sto*er/*</from-view-id>
<from-view-id>*/customer</from-view-id>
查看此页面
相关文章:
- 在浏览器中更改页面的URL,无需刷新和HTML5模式
- 基于URL中的HASH打开引导模式
- 单击引导模式锚点时添加 URL 哈希
- JavaScript 中 URL 的正则表达式模式
- 如何使模式窗口打开动态内容并更改url
- 自定义URL模式
- 重定向(URl)提供控制器视图 URI模式
- AngularJS hashbang模式复制URL路径
- 将变量从URL传递到简单模式弹出菜单
- 如何创建 JSF 过滤器/url 模式来保护 javascript
- 使用正则表达式区分单行注释和url模式
- HTML5 URL输入元素的URL模式或REGEX
- 如何在Sailsjs中使用相同的URL模式调用不同的控制器动作?
- 检测URl模式
- AngularUI路由器:使用相同url模式的多个状态
- LoadRunner为什么URL模式解决了我所有的java问题
- 使用RegEX匹配URL模式,无效的量词
- iOS UIWebView,如何阻止加载某个URL模式
- javascript中的Ajax Url模式验证
- 在附加到webRequest事件时,是否有方法访问匹配的URL模式