- - PR -
LDAP認証のパラメ−タの設定方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-02 18:01
ここで質問するのが正しくなければ申し訳ないのですが、
今回実現したい事は JAVAのソ−スをC#に置き換えたいのです。 JAVAのソ−スは問題なく動いているので、 パラメ−タなどの設定に問題があると思われるのですが 何処が悪いのか色々ソ−スを変更して試してみたのですが うまくいきませんでした・・ 現在の提示しているC#のソ−スでは ユ−ザまたはパスワ−ドが不正です。。 と例外が発生しています。 LDAPの設定はどうなっているかの情報は現在頂いていません・・ SECURITY_AUTHENTICATIONやパスワ−ドの設定に問題があるのでしょか?? "LDAP://192.168.*.*/uid=test ,ou=People, o=sample.co.jp"; などにURLを変えたら例外エラ−は発生しないのですが なにも取得できないです。 ここにパスワ−ドをいれるのでしょうか?? 色々探したのですが、見つからなかったので 投稿しました。 どうかよろしくお願いします。 JAVAのソ−ス private static final String INITIAL_CONTEXT_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory"; private static final String PROVIDER_URL = "ldap://192.168.*.*/"; private static final String SECURITY_AUTHENTICATION = "simple"; private static final String BASE_DN = "ou=People, o=sample.co.jp"; private static final String USER_DN = "uid="; String userID = "test"; String usrpw = "ps/test"; String userDN = USER_DN + userID; Hashtable env = new Hashtable() ; env.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY) ; env.put(Context.PROVIDER_URL, PROVIDER_URL); env.put(Context.SECURITY_AUTHENTICATION, SECURITY_AUTHENTICATION); env.put(Context.SECURITY_PRINCIPAL, userDN + ", " + BASE_DN); env.put(Context.SECURITY_CREDENTIALS, usrpw); try { DirContext ctx = new InitialDirContext(env) ; return true; } catch (Exception e) { return false; //* パスワード誤り } C#のソ−ス string szUrl = "LDAP://192.168.*.*/ou=People, o=sample.co.jp"; string szUser = "test"; string szPswd = "ps/test"; DirectoryEntry drEntry = new DirectoryEntry( szUrl, szUser , szPswd ); try { // ADSI オブジェクトを取得する Object obj = drEntry.NativeObject; // LDAP検索オブジェクトを作成 DirectorySearcher drSearch = new DirectorySearcher(drEntry); // アカウントフィルターを設定 drSearch.Filter = "(SAMAccountName=" + textBoxUser.Text + ")"; // Common Name(cn)プロパティを同時に取得するように設定 drSearch.PropertiesToLoad.Add("cn"); // 検索する SearchResultCollection scn = drSearch.FindAll(); if( scn == null) { System.Windows.Forms.MessageBox.Show( "からっぽ" ); } foreach( SearchResult sResult in scn) { System.Windows.Forms.MessageBox.Show( (string)sResult.Properties["cn"][0] ); } }catch( Exception ex ) { System.Windows.Forms.MessageBox.Show( ex.Message ); } [ メッセージ編集済み 編集者: koga 編集日時 2005-11-02 18:05 ] [ メッセージ編集済み 編集者: koga 編集日時 2005-11-02 18:05 ] |
1