Mod_auth_casでユーザーを認証するApache2.4.27の背後で実行されるアプリケーションがあります。このモジュールは、認証されたユーザーに関する属性をヘッダーに格納します。アンダースコア(X-CAS-email_primary
)が含まれているため、削除されている1つのヘッダーに問題があります。検索を行った後、以下のコードスニペットをVirtualHost構成に追加しました。
SetEnvIfNoCase X-CAS-email_primary ^(.*)$ fix_header=$1
RequestHeader set X-CAS-email-primary %{fix_header}e env=fix_header
はっきりしない場合は、X-CAS-email_primary
をX-CAS-email-primary
に変更しようとしています。このコードは部分的に機能しています。新しいヘッダーは表示されますが、値はありません。
["HTTP_X_CAS_EMAIL_PRIMARY"]=> string(0) ""
X-CAS-email_primary
が設定されていることを確認したので、何が起こっているのかよくわかりません。助言がありますか?
ありがとう!
RequestHeader set
の値は式をサポートし、式には、要求ヘッダーの値を提供するreq
(またはhttp
)関数が含まれます。したがって、この1つのディレクティブは、必要なことを実行する必要があります。
RequestHeader set X-CAS-email-primary "expr=%{req:X-CAS-email_primary}"
この種のものを見つけるには、 documentation を深く掘り下げる必要がありますが、それはそこにあります。
構成が機能しなかった理由はわかりませんが、SetEnvIfNoCaseはRequestHeaderの後に評価されると思います。ドキュメントでは、それを簡単に理解することはできません。