- PR -

LDAP認証のパラメ−タの設定方法

1
投稿者投稿内容
koga
会議室デビュー日: 2003/07/22
投稿数: 2
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)