Apache はカスタム http ヘッダーを REMOTE_USER 変数に書き換えます。

Apache はカスタム http ヘッダーを REMOTE_USER 変数に書き換えます。

私は、すべてのWebサーバーのWAMとして機能するIBM WebSEALというアプリケーションを持っています。 Active Directory で認証して WebSEAL 使用可能リソースにアクセスすると、WebSEAL は kerberos チケットから自分のユーザー ID を取得し、iv-userhttp 要求ヘッダーに Windows NT ID を設定します。私は私のアプリケーションとそのアプリケーションのREMOTE_USERApache変数を読み取るためにSSOを設定したいと思います。私の質問は。どのようiv-userに書き換えることができますかREMOTE_USER?どんなアドバイスでも高く評価されます! PS。 Apacheがこの変数を見ることができることを確認できますiv-user

編集する:

仮想ホスト構成:

[root@otrs conf]# httpd -t -D DUMP_VHOSTS

VirtualHost configuration:
*:443                  otrs-1-lab.local.dom. com (/etc/httpd/conf.d/ssl.conf:56)




[root@otrs conf]# less /etc/httpd/conf.d/zzz_otrs.conf

<IfModule mod_perl.c>

    # Setup environment and preload modules
    Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl

    # Reload Perl modules when changed on disk
    PerlModule Apache2::Reload
    PerlInitHandler Apache2::Reload

    # general mod_perl2 options
    <Location /otrs>
#        ErrorDocument 403 /otrs/customer.pl
        ErrorDocument 403 /otrs/index.pl
        SetHandler  perl-script
        PerlResponseHandler ModPerl::Registry
        Options +ExecCGI
        PerlOptions +ParseHeaders
        PerlOptions +SetupEnv

        <IfModule mod_version.c>
            <IfVersion < 2.4>
                Order allow,deny
                Allow from all
            </IfVersion>
            <IfVersion >= 2.4>
                Require all granted
            </IfVersion>
        </IfModule>
        <IfModule !mod_version.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Location>

    # mod_perl2 options for GenericInterface
    <Location /otrs/nph-genericinterface.pl>
        PerlOptions -ParseHeaders
    </Location>

</IfModule>

<Directory "/opt/otrs/bin/cgi-bin/">
    AllowOverride None
    Options +ExecCGI -Includes

    <IfModule mod_version.c>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
    </IfModule>
    <IfModule !mod_version.c>

ベストアンサー1

Apachemod_setenvif確かにあなたのために何かをします。私は次のことを試してみます:

SetEnvIf iv-user "(.*)$" REMOTE_USER=$1

それでも機能しない場合は、SetEnvIfExprディレクティブを使用することもできます。

おすすめ記事