web-dev-qa-db-ja.com

REMOTE_USER = Apacheの+ FakeBasicAuthを使用したx509でのSSL_CLIENT_S_DN_CN。出来ますか?

こんにちは私はイントラネットサービス(BackupPc)にソフトウェアを取り込もうとしています

このソフトウェアは、環境変数REMOTE_USERを使用してユーザー名を取得します。クライアント証明書認証システムとFakeBasicAuthが有効になっているApache2.2サーバーの下に配置されると、REMOTE_USERSSL_CLIENT_S_DNと同じ値を取得し、証明書のすべての識別名文字列を持ちます。

REMOTE_USERの内容をSSL_CLIENT_S_DN_CNに設定しようとしています。これは、私のユーザー名と一致し、読みやすく、短くなっています。

CGIに渡されるこの環境変数は、SetEnvおよびSetEnfIfによって変更できません。 mod_sslディレクティブSSLUserNameもありますが、 Apache 2.2の公式ドキュメント は、FakeBasicAuthを有効にすると機能しないと言っています。

ですから、何かが足りないのか、それともこの問題に関する巧妙な回避策があるのか​​疑問に思います。

イントラネットの残りの部分にあるauthmodelであるため、FakeBasicAuthを削除できません。また、アプリケーションのコードにパッチを適用したくありません(動作させるためにパッチを適用しましたが、パッチを適用したコードを削除して、公式のコードを優先します) )

2
theist

そうですREMOTE_USERはApacheディレクティブでは変更できないので、BackupPcを変更してSSL_CLIENT_S_DN_CN変数を使用するか、スタートアップコードでREMOTE_USERの値を設定するのはどうでしょうか。 ?

1
Jaime Soriano