【问题标题】:Remap javax.faces.resources to a different path将 javax.faces.resources 重新映射到不同的路径
【发布时间】:2015-01-06 15:56:54
【问题描述】:

我有一个 jsf/primefaces 应用程序。它的内部和外部都分为两个不同的目录,例如 xhtml/internal 和 xhtml/external。对内部站点的访问由基于您的 IP 的过滤器控制。如果您的 IP 在内部范围内,您可以访问 xhtml/internal 但您仍然需要登录。

对应用程序的访问由 IS 通过 ajp 协议控制,因此我必须映射顶级 url,例如 mysite 或 mysite/xhtml/external。由于 IP 范围检查足以满足我的安全需求,因此我已经使用映射 mysite。在最后一刻,我的主管认为 IP 安全性不够好。

我想使用 AJP 将站点映射为 mysite/xhtml/external,但 jsf 有他自己的资源处理。因此,即使我以某种方式创建了 javascript/css 文件的克隆,我也无法从 xhtml/external url 提供它们。下面是 jsf/primefaces 对资源请求的作用

mysite/javax.faces.resource/theme.css.xhtml?ln=primefaces-bootstrap

是否可以映射它而不是 javax.faces.resource,它应该是 xhtml/external/javax.faces.resource ?谢谢

【问题讨论】:

  • 我不知道。处理 jsf 资源的典型方法是向过滤器添加自定义规则,使其无需登录。

标签: jsf jsf-2 primefaces ajp


【解决方案1】:

这看起来是不可能的。这是因为 javax.faces.resources 是一个静态的最终字符串 ResourceHandler#RESOURCE_IDENTIFIER

不幸的是,即使使用反射也无法覆盖它。阅读更多关于它的信息in this post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2011-08-21
    相关资源
    最近更新 更多