0

約 10 台の iMac が Mac mini サーバーに接続されています。サーバーでphpとApacheが有効になっています。PHPを使ってイントラネットサイトを作っています。私の要件は、サーバーに接続されているクライアントのユーザー名を取得することです。$_SERVER['REMOTE_USER'] が機能していません。どうしてか分かりません。私を助けてください。それを見つけるためにJSを書くことは可能ですか?ユーザーのログインを求めるべきではありません。クライアント マシンのログインから直接取得する必要があります。

4

3 に答える 3

1

$_SERVER['REMOTE_USER']HTTP authに使用されるユーザー名が含まれます。訪問者がどの OS ユーザーとしてログインしているかをブラウザーに知らせる合理的な方法はありません (署名付きの Java アプレットで運が良いかもしれませんが、私はそれに賭けません)。

于 2013-02-18T09:26:13.237 に答える
0

クライアントマシンを制御できるイントラネットサイト/アプリの場合、システムの起動時に実行されるスクリプト/アプリケーションを使用して、ユーザー名を読み取り、Cookie として保存できます。Web サイトからその Cookie を読み取ることができます。

Cookie の保存方法はブラウザによって異なります。たとえば、firefox 3+ は文書化された形式の sqlite データベースを使用します (詳細については、この投稿を参照してください)。Cookie にアクセスするときは、ブラウザが実行されていないことを確認する必要があります。

于 2013-02-18T09:52:20.493 に答える
0

あなたが求めているのはシングル サインオン (SSO) だと思います。これは、ドメインに接続された Windows コンピュータで最も一般的に使用されます。これにより、ユーザーは資格情報を入力せずにイントラネット サイトへの認証を行うことができます (たとえば、ドメイン資格情報を使用します)。

純粋な Mac に相当するものは知りません。(最新の) Windows システムは Kerberos と呼ばれ、Mac 上の Firefox でサポートされています ( http://www.cgl.ucsf.edu/Security/CGLAUTH/CGLAUTH.html )。

これには、OS、ブラウザ、および Web サイトがすべて連携する必要があることに注意してください。いくつかの問題: Firefox (Windows でも) はログインの詳細を自動的に送信しません。認証するサイトを含めるには、構成を変更する必要があります。Web サイトは、渡された資格情報の真正性を検証できる必要があります。これは通常、資格証明機関 (ドメイン コントローラー/RADIUS/X500 サーバーなど) と通信できる必要があることを意味します。Pesmissions メカニズムは、資格情報の委任を許可するようにサポート (および構成) する必要があります (つまり、クライアント PC は ID を証明するために Web サイトにトークンを渡すことが許可されます)。

この質問は、Linuxでこれを機能させることができた人によるものなので、良い出発点になるはずです

于 2013-02-18T11:31:26.383 に答える