0

些細な問題のように見える問題を解決するために、私は本当に助けを借りることができました. 要約すると、Windows 環境の Apache で実行されている Perl .cgi にアクセスするユーザーの Window の loginID を知りたいです。

これが私の基本的なApache2 confの追加です:

---- httpd.conf の開始 -----

...

LoadModule sspi_auth_module modules/mod_auth_sspi.so
...
<IfModule mod_auth_sspi.c>
    <Location "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
        AuthName "A Protected Place"
        AuthType SSPI
        SSPIAuth On
        SSPIAuthoritative On
        #SSPIBasic On
        SSPIOfferBasic On
        #SSPIDomain On
        #SSPIBasicPreferred
        #SSPIUsernameCase lower
        require valid-user
    </Location>
</IfModule>
...
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
...

---- httpd.conf の終了 ------

さらに、http: //tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup.html#tsvn-serversetup-apache-7の優れた手順を使用して、自分のマシンで SSL を有効にしました。

上記のサイトは Apache モジュール mod_auth.so をロードするように要求していますが、デフォルトの Apache2 インストールでは見つかりません。また、ご覧のとおり、mod_auth_sspi-1.0.4-2.2.2 モジュールを手動で Apache2 環境に追加しました。

ここで、 http://localhost/cgi-bin/test.cgihttps: //localhost/cgi-bin/test.cgi の両方を試してみると、 http/ の REMOTE_USER の方法で何も表示されません環境変数。https 呼び出しで大量の SSL 変数が表示されるため、SSL が機能していることはわかっています。また、SSL の要件はありませんが、上記のリンクに Windows ログイン情報を取得するために必要であると記載されているため、SSL のみを使用しています。

洞察力をいただければ幸いです。参考になれば、httpd.conf ファイル全体を喜んで共有します。基本的に、繰り返しますが、私が探しているのは、Windows/Apache2.2 ホスティング環境の Perl .cgi で Windows loginID を取得する方法だけです。

皆様のご協力に感謝いたします。

サケル・ガニ

4

2 に答える 2

-1

Windows プログラマーではないので、loginID が何かはわかりませんが、 Win32::LoginName と Win32::LookupAccountNameが役立つのではないでしょうか?

于 2009-03-17T03:45:57.837 に答える