こんにちは私はイントラネットサービス(BackupPc)にソフトウェアを取り込もうとしています
このソフトウェアは、環境変数REMOTE_USER
を使用してユーザー名を取得します。クライアント証明書認証システムとFakeBasicAuth
が有効になっているApache2.2サーバーの下に配置されると、REMOTE_USER
はSSL_CLIENT_S_DN
と同じ値を取得し、証明書のすべての識別名文字列を持ちます。
REMOTE_USER
の内容をSSL_CLIENT_S_DN_CN
に設定しようとしています。これは、私のユーザー名と一致し、読みやすく、短くなっています。
CGIに渡されるこの環境変数は、SetEnv
およびSetEnfIf
によって変更できません。 mod_sslディレクティブSSLUserName
もありますが、 Apache 2.2の公式ドキュメント は、FakeBasicAuthを有効にすると機能しないと言っています。
ですから、何かが足りないのか、それともこの問題に関する巧妙な回避策があるのか疑問に思います。
イントラネットの残りの部分にあるauthmodelであるため、FakeBasicAuthを削除できません。また、アプリケーションのコードにパッチを適用したくありません(動作させるためにパッチを適用しましたが、パッチを適用したコードを削除して、公式のコードを優先します) )
そうですREMOTE_USER
はApacheディレクティブでは変更できないので、BackupPcを変更してSSL_CLIENT_S_DN_CN
変数を使用するか、スタートアップコードでREMOTE_USER
の値を設定するのはどうでしょうか。 ?