DirectoryServices を使用して、ADLDS (軽量の Active Directory) に対してユーザーを認証しています。認証に合格した後。現在ログインしているユーザーの DN または SID を特定するにはどうすればよいですか?
using (DirectoryEntry entry = new DirectoryEntry(<a>LDAP://XYZ:389</a>,
userName.ToString(),
password.ToString(),
AuthenticationTypes.Secure))
{
try
{
// Bind to the native object to force authentication to happen
Object native = entry.NativeObject;
MessageBox.Show("User authenticated!");
}
catch (Exception ex)
{
throw new Exception("User not authenticated: " + ex.Message);
}
...
ありがとう
アップデート:
で例外が発生します
src = search.FindAll()
There is no such object on the server.
ログインしているユーザーのクラス タイプが Active Directory ライトウェイトに「foreignSecurityPrincipal」であることに気付いたので、フィルターを次のように変更するだけでよいと考えました。
search.Filter = "(&(objectclass=foreignSecurityPrincipal)" + "(sAMAccountName=" + userName + "))";
しかし、それは私に同じ例外を与えました。私が見逃しているものはありますか?