[PHP-users 28446] LDAP関数でアクティブディレクトリに接続

柴田 健郎 takeofuture @ hotmail.com
2006年 2月 17日 (金) 13:27:11 JST


いつもお世話になっております
そぼくな疑問ですが、WINDOWS2003にあるアクティブディレクトリサーバーに
認証をさせるページをPHPでつくろうとしてます
WINDOWSのアクティブディレクトリではデフォルトで
セキュリティ上 平文はゆるされていません

なにもユーザー名、パスワードをいれずにLDAP_BINDするとOKあのですが
匿名バインドでだれでもアクセスできるリソースにアクセスできる
ことだと思います。

実際にIDとパスワードをいれると
ldap_bind(): Unable to bind to server: Invalid credentials 

となります。
PHP5だと
http://www.php.net/manual/ja/function.ldap-sasl-bind.php
のようなものがサポートされているようなのですが
実際にこれをつかってアクティブディレクトリに認証接続される方法はあるのでしょ
うか?

ちなみにかなり前、
PHPでこれをしようとしていて結局あきらめ

ASPで
Dim ldapObj, contADsPath, contObj
set ldapObj = GetObject("LDAP:")
contADsPath = 
"LDAP://main.mydomain.com:389/OU=Users,OU=Tokyo,DC=mydomain,DC=com"
Set contObj = ldapObj.OpenDsObject(contADsPath,myuserid,mypassword,1)

で接続したことがありました。
OpenDsObject(contADsPath,myuserid,mypassword,1)
の1がそれに対応した接続で0だと平文になるようです。

OUTLOOK EXPRESSなんかでディレクトリーサービスを追加して
実験すると、同じように、
なにもID,やパスワードをいれないとちゃんと表示され、
いれると表意されなくなりました、認証エラーになりました

ところがSPAとなのる認証のところをチェックをいれるとうまく接続できました

この認証方式に対応させればいいだけなのでしょうが
このPHP5で導入された
ldap-sasl-bind
もこれに対応しているような気がしたのですでに成功したかたがいらしたら
ぜひ教えてください
どうかよろしくお願いいたします

またPHP4ではWINDOWSのアクティブディレクトリに認証をしてもらう仕組みはで
きないのでしょうか?

_________________________________________________________________
MSNショッピングでXbox360を早速チェック! 
http://shopping.msn.co.jp/softcontent/softcontent.aspx?scmId=593 



PHP-users メーリングリストの案内