Apache httpd 2.2 - 如何转换变量的值以删除部分字符串

问题描述 投票:0回答:1

我有一个名为“MELLON_NAME_ID”的变量进入 Apache,作为 SSO 的 mod_auth_mellon 的一部分。它使用“DOMAIN\Username”填充变量,而我需要仅使用其中的“Username”部分填充 REMOTE_USER 变量。这可能吗?

编辑:它还使用相同的值填充 REMOTE_USER,因此我真正需要的是删除“DOMAIN\”部分。

谢谢!

apache httpd.conf
1个回答
0
投票

要拆分名称 ID 字段,请将标头视为变量。将其设置为副本,然后使用 regex(正则表达式)替换来编辑该副本。仅供参考:我认为 mod_headers 是必需的。

示例:

RequestHeader set username "%{MELLON_NAME_ID}e"
RequestHeader set domain "%{MELLON_NAME_ID}e"
RequestHeader edit username "^.*\\\(.*)" "$1"
RequestHeader edit domain "^(.*)\\\.*" "$1"

Header set username "%{MELLON_NAME_ID}e"
Header set domain "%{MELLON_NAME_ID}e"
Header edit username "^.*\\\(.*)" "$1"
Header edit domain "^(.*)\\\.*" "$1"

如果您希望这些标头继续存在,请设置

RequestHeader
,例如,这是另一个应用程序的代理,该应用程序需要为其传入请求设置这些标头。

如果您希望这些标头在对浏览器的响应中返回(或任何期望响应的内容),请设置

Header

注意:问题说的是Apache 2.2,但我只在Apache 2.4上测试过。

© www.soinside.com 2019 - 2024. All rights reserved.