- - PR -
PHP5からWindows2003に認証させるには
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-21 04:20
いつもお世話になっております
そぼくな疑問ですが、WINDOWS2003にあるアクティブディレクトリサーバーに 認証をさせるページをPHPでつくろうとしてます なにがしたいかというとわざわざ別ユーザーやパスワードを管理せずに 単純にWINDOWSのドメインユーザーで 認証を利用したりWINDOWSドメインに設定したグループアクセス権の情報などを そのまま利用したいだけです。 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 のようなものがサポートされているようなのですが 実際にこれをつかってアクティブディレクトリに認証接続される方法はあるのでしょ うか? (SASLとはそもそもどういうものでしょうか?) JAVAでもトライしたことがあるのですがKRB5というMITのケルベロス認証ファイルなどを もちこんでなっかぐちゃぐちゃやってつないだことはありました この手のものとしてSSLしかつかったことしかなかったので少し面食らってます。 ちなみにかなり前、 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 もこれに対応しているような気がしたのですでに成功したかたがいらしたら ぜひ教えてください どうかよろしくお願いいたします |
1