- ベストアンサー
PHPからWindowsログインユーザー名取得
はじめまして、tenbinです。 PHPからWindowsログインユーザー名を 取得する方法はありますでしょうか? 会社では必ず、Windowsログインユーザー名を入力するため、 ユーザー名をキーにできれば、わざわざパスワード入力必要なく、 アクセス制御できると思っています。 わかる方がいらっしゃいましたら、教えてください。 よろしくお願いします。 [開発環境] Windows Server 2008 PHP 5.2 Apatch2.2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答ではありませんが。 ASPとIEの組み合わせであれば、そのような機能ができるようですね。 http://dobon.net/vb/bbs/log3-1/197.html 実際、そのような動作をしている、グループウェアをみたことがあります。 ChromeやFoxでは、ログイン認証画面が出てました。 あと、できるかどうかは分かりませんが、 IPアドレスが、ユニークなら、認証サーバにPHPから問い合わせるって方法が 使えそうな・・・ 単なる思いつきです。すみません。
その他の回答 (1)
- naznaz1111
- ベストアンサー率46% (64/138)
A#1です。 ASPではなく、VBScriptの取得するですね。 私も、昔の記憶から検索したので、理解が足りてませんでした(^^;; 訂正申し上げます。 それが、IEでしか動作しないという理由ですね。 さて、A#1の補足で書かれたこと。 会社の環境が少し分からなかったのですが、各ユーザーのログインって、 ActiveDirectryのような認証サーバーで行っているのでしょうか? もし、そのような環境であれば、ログインを行う都度IPアドレスとユーザー名のひも付けを変えていけば、 複数人で共有しているPCでも、IPアドレスからユーザー名を取得できる気がするのですが・・・ PCが強制終了した場合など正常なログオフができなかった場合を考えると、 セキュリティ的に問題になるかもしれませんけどね。 VBScriptの方法にしても、ローカル側でHackして、偽のユーザー名を送ったら、 それだけで、なりすましアクセスできることを意識しておく必要はあるでしょう。 私の知っているシステムでも、あくまでユーザー名までで、 パスワードの入力はやはり求められました。 私も、この分野は門外漢なのですが、 「LDAP シングルサインオン」というキーワードで探ってみるのがよろしいかと。 http://www.atmarkit.co.jp/fnetwork/rensai/dirt01/01.html ↑こんなのが引っかかりますね。 業務をしていて、何度もパスワード入れるのはホント疲れるのですが、 調べてみると、やっぱり難しいのだと認識しちゃいました(^^;; 以上、ご参考までに。
お礼
返信ありがとうございます。 会社の運用では良いこともあれば、悪いこともありますね。 会社ではIEしか使用していませんので、naznaz1111の回答でばっちりです。 でも、ActiveDirectryのような認証を確かに行っていますが、 管理している部署が違って、連携をとるのは難しそうです…これは悪いことですね。 パスワードの入力を求めても、ばれてはおしまいですので、 なりすましアクセスは防ぎようがありません。 社内のことですので、そこまでのセキュリティは必要ありませんから、 念のため、おおまかなIPアドレスのチェックもしようと思いました。 リンクありがとうございます、勉強になります! 早速、明日確かめてみます。
補足
今日、確認したところ、問題ありませんでした。 本当にありがとうございます。
お礼
早い回答ありがとうございます。 リンク先を見ました。 <SCRIPT Language="VBSCRIPT"> Document.Write "YourName is " & CreateObject("WScript.Network").UserName </SCRIPT> 自宅のPCで、Htmlファイルを作成、アカウントを変更し、 Windowsログインユーザー名が取得できていることを確認できました。 来週、会社でPHP開発しているWEBに上記を埋め込んで見て、試してみたいと思います。 VBSCRIPTを使用したことないので、もし、それでは動作するはずがないという意見が ありましたら、教えてください。 無事に動作することが確認できた後、質問を閉じたいと思います。 会社で、パスワード入力が多くあり、本当に覚えるのが大変です。 本当に助かりました、ありがとうございます。
補足
IPアドレスについてですが、 私も検討したのですが、 いくつかのPCは 複数人が1台のPCを使いまわしている運用で、 却下になりました。 運用にあったシステムを作るには技術が必要ですね。 ありがとうございます。