5

PHP でイントラネット Web アプリケーションに取り組んでいます。Windows NT ログイン資格情報を使用してアプリケーションにログオンしようとしています。ここでの問題は、リモート ユーザーの Windows ユーザー名を取得する方法です。ユーザー名を取得し、さまざまな LDAP グループと照合して、アプリケーションの適切なページに誘導できるようにしたいと考えています。

私はこれまで試してきました

<?php
echo $_SERVER['REMOTE_USER'];
echo $_SERVER['PHP_AUTH_USER'];
?>

どちらも空の値を返します。

更新: $_SERVER['REMOTE_ADDR'] を使用すると、コンピューターの IP アドレスを取得できます。とにかく、ユーザー ID/ユーザー名 (一意のもの) を取得し、それを使用して LDAP グループと比較することはできますか? 彼らがウェブサイトのメインページに入り、セッションを保存してから、ウェブサイト全体でセッション変数を使用するときに、これを行いたいと思います。

4

2 に答える 2

0

最初に NTLM-Authenticate ヘッダーを送信する必要があります。その後、$_SERVER-Vars に適切なユーザーが存在するはずです。

header('WWW-Authenticate: NTLM');
echo $_SERVER['AUTH_USER'];

私の知る限り、これは InternetExporer - ブラウザでのみ機能します

于 2013-02-14T19:01:29.920 に答える