0

内部ユーザー (Kerberos 認証を持つ) と、従来のユーザー名/パスワード フォームを介してログインできるサード パーティに公開されるシステムがあります。現在行っていることは、複数のサーバーを実行することです。たとえば、a.mysite.com で Kerberos 化されたサーバーと、b.mysite.com で実行されているフォーム認証を持つサーバーがあります。

私が望むのは、両方のグループと共有する単一の URL を用意し、Kerberos トークンが使用可能かどうかをサーバーに判断させることです。ある場合はそれを使用し、そうでない場合はログイン ページにリダイレクトします。理想的には、ユーザーはずっと「myproject.mysite.com」にとどまります...しかし、トークンを持っているかどうかに基づいて、ユーザーを a.mysite.com または b.mysite.com に (自動的に) リダイレクトする必要がある場合は、問題ありません。

考え?

4

1 に答える 1

0

これは非常に簡単に実現できます。2 つのオプションがあります。

1: クライアントに送り返す

WWW-Authenticate: Negotiate
WWW-Authenticate: Kerberos
WWW-Authenticate: Basic (or better yet Digest)

クライアントは、利用可能な最善の方法を選択します。

2: 本当にフォーム認証が必要な場合は、

WWW-Authenticate: Negotiate

フォームを 401 ページとして表示します。フォームを保護されていないコントローラーにポストし、フォーム認証を実行します。

mod_auth_kerbまたはApache HTTPd に使用して、認証が成功した後mod_auth_gssに調べることができます。$REMOTE_USER

一部のユーザーに Kerberos 認証を使用させたい場合は、それらのユーザーが KDC アカウントと適切な DNS エントリを持つネットワーク/ドメインの一部である必要があることに注意してください。

于 2013-01-18T22:16:49.580 に答える