14

私は Kerberos についてあまり知らないと仮定してみましょう。基本的なことだけです。

私は持っている...

  • Debian Linux 2.6 ウェブサーバー
    • アパッチ 2.2
      • mod_auth_kerb/5.3
      • PHP/5.2
  • (動作中の) Kerberos レルム
  • Windows クライアント
    • Firefox 3
    • MIT Network Identity Manager のログイン ID「user@EXAMPLE.COM」

訪問者がそのような kerberos チケットを持っている場合に Web サイトにログインする必要がないように、PHP スクリプトでこの情報を使用するにはどうすればよいですか? Apache に認証を処理させたくありません。PHP 経由でサイトにアクセスしているユーザーを特定する必要があります。

それは可能ですか?もしそうなら:どのように?

これまでにわかったこと: Firefox でドメインを「有効」にする必要があります

とはいえ、そこまで...

4

2 に答える 2

4

これが役立つかどうかはわかりませんが、パラメーターを使用すると、Apache はmodauthkerbパッケージでユーザー名情報を PHP に送信するようです。KrbSaveCredentialsphp で 2 つのグローバル変数を取得する必要があります。

 $_SERVER['REMOTE_USER']
 $_SERVER['KRB5CCNAME']

http://archives.postgresql.org/pgsql-admin/2004-08/msg00144.phpは、これが機能しているようです。

そうすれば、ユーザーが何であるかがわかれば、php が実際に認証を行う必要はありません。

于 2008-12-24T04:09:15.853 に答える
2

mod_auth_kerb が実際の認証を処理します。その後、REMOTE_USER および KRB5CCNAME 環境変数を設定します。いくつかの注意事項があることに注意してください。

  • Krb5AuthToLocal オプションが有効になっている場合、mod_auth_kerb は Kerberos プリンシパルとローカル ユーザー名の間の変換を行うことができます。
  • Krb5AuthToLocal が有効になっている場合、認証が成功すると、mod_auth_kerb は Kerberos ライブラリを呼び出して、認証された名前からローカル名への変換を実行します。これは、Kerberos プリンシパルがオペレーティング システムの実際のユーザーと常に同じであるとは限らないためです (プリンシパルをユーザー名にマップできます)。
  • MIT Kerberos が使用されている場合、このマッピングは /etc/krb5.conf の auth_to_local ルールを使用して実行されます。詳細については、krb5.conf のマニュアル ページを参照してください。
  • mod_auth_kerb には、結果のローカル名がプリンシパル自体よりも長い名前を持つべきではないというバグがあります。これは通常、デフォルト レルムのプリンシパルに当てはまります。これらのプリンシパルはレルム部分なしで表示されるためです。つまり、「user@REALM」ではなく「user」です。ただし、信頼できるレルムが複数ある場合、デフォルト以外のレルムのユーザーは「user@ANOTHER.REALM」として表示され、mod_auth_kerb が異常になります。このバグは Fedora 18+ および RHEL6.5 で修正される必要がありますが、上流の mod_auth_kerb が少し機能していないため、Debian については不明です。
  • したがって、REMOTE_USER 変数には、mod_auth_kerb の構成方法に応じて、Kerberos プリンシパルまたはローカル ユーザー名が含まれます。REMOTE_USER 値が実際に存在するシステム ユーザーでなければならないという事実にアプリケーションが依存している場合、Krb5AuthToLocal オプションが有効になっていること、およびそのようなユーザーが (winbind または sssd を介して) システムに表示されていることを確認する必要があります。

あなたの場合、Tom McLaughlin による優れた方法を参照することをお勧めします: http://blogs.freebsdish.org/tmclaugh/2010/07/15/mod_auth_kerb-ad-and-ldap-authorization/

于 2013-10-18T08:50:39.650 に答える