0
我需要使用.NET & C#連接到NetIQ eDirectory。連接必須使用應用程序憑證打開。連接打開後,我需要使用與S.DS.AccountManagement類似的方法在應用程序憑據的權限下驗證用戶憑證。使用應用程序憑證連接到eDirectory。然後驗證用戶
using (var context = new PrincipalContext(ContextType.Domain, path, appUserDn, appPassword))
{
//Username and password for authentication.
var valid = context.ValidateCredentials(userDn, password);
}
我試過Novell.Directory.Ldap,S.DS.DirectoryEntry,& S.DS.AccountManagement。最後一個需要AD並且不適用。
使用Novell.Directory.Ldap測試..
using (var cn = new LdapConnection())
{
cn.Connect(server, int.Parse(port));
cn.Bind(appUserDn, appPassword); //throws exception if invalid credentials..
var passwordAttr = new LdapAttribute("userPassword", password);
cn.Compare(userDn, passwordAttr); // Only compares password, so no locked account check, etc.
}
我目前的樣機採用S.DS.Protocols。
var networkCredential = new NetworkCredential(
appUserDn,
appPassword);
using (proto.LdapConnection cn = new proto.LdapConnection(new proto.LdapDirectoryIdentifier(server, int.Parse(port)), networkCredential, proto.AuthType.Basic))
{
cn.Bind();
/// Next validate user credentials..
}
我無法找到一個方法來驗證比重新分配NetworkCrentials並使用個人用戶名密碼&重新綁定其他用戶憑據。我應該如何繼續?