- - PR -
activedirectory連携について(DirectoryEntryの設定について)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-02-07 16:48
お世話になっております。
ActiveDirectory連携(Ldap認証)をWindowsアプリケーションで行おうとしております。 DirectoryEntryにAdのパス、認証するユーザID、パスワードを下記のように設定しております。(AD:sample.example.com) string strPath = @"ldap://IP:389/dc=sample,dc=example,dc=com"; string strUser = @"cn=administrator,cn=users,dc=sample,dc=example,dc=com"; string strPass = @"admin"; DirectoryEntry drEntry = new DirectoryEntry(strPath, strUser, strPass, AuthenticationTypes.FastBind); その後に // ADSI オブジェクトを取得する Object obj = drEntry.NativeObject; を実行すると、 System.Runtime.InteropServices.COMException (0x80005000): 不明なエラー (0x80005000) 場所 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 場所 System.DirectoryServices.DirectoryEntry.Bind() となってしまいます。 色々認証時の属性の値を変えてみましたが、うまくいきません。 何方か詳しい方いらっしゃいましたら、お教えください。 ちなみにLdapブラウザからは、繋がります。 [ メッセージ編集済み 編集者: 未記入 編集日時 2008-02-07 17:51 ] |
|
投稿日時: 2008-02-07 18:17
原因は別にありそうだけど一個だけ気になったトコを。
http://msdn2.microsoft.com/ja-jp/library/system.directoryservices.directoryentry.path(VS.80).aspx 「Path のプロバイダを識別するセクション ("://" の前) では、大文字と小文字が区別されます。たとえば、"LDAP://" または "WinNT://" のようになります。」 |
|
投稿日時: 2008-02-07 19:21
お返事有難うございます。
おっしゃるとおりでした。ldapの文字をLDAPにしたところ、うまく実行することができました。本当に聞いてよかったです。有難うございます。 ちなみにこれでいいんですが、、IP、ポートを指定しないで、dc=sample,dc=example,dc=comの部分だけをpathに設定する事は、できるのでしょうか。 LDAP://dc=sample,dc=example,dc=com こうやったところ、ドメインが存在しないか、アクセスできませんと言われました。 すみませ〜ん。 |
|
投稿日時: 2008-02-08 10:59
ドメイン指定無しでドメイン コンポーネントだけ取りたいってコト?
ドメイン一つずつ総当りにしないとダメぢゃないかな。 固定で現在のドメインの中だけ見るなら、リンク先にサンプルがあったと思うのでチェックして見て下さい。 ActiveDirectoryは使ったことも無いので、これにて失礼。 |
|
投稿日時: 2008-02-08 11:34
LDAP ADsPath
Hostname を省略した場合には制限を受けます。 _________________ |
1