0

アカウントのユーザー名とパスワードを知っています。ドメイン内の任意の PC にログインできます。

Console.WriteLine("User Name: " + userName + " Password: " + tb.Text.ToString().Trim());
System.DirectoryServices.AccountManagement.PrincipalContext pc = new System.DirectoryServices.AccountManagement.PrincipalContext(ContextType.Domain, "DOMAIN.TLD");                

// validate the credentials 
bool validatedOnDomain = pc.ValidateCredentials(userName, tb.Text.ToString().Trim());
return validatedOnDomain;

このメソッドは常に false を返します。

ここで何か間違ったことをしていますか?自分のパスワードも知っています。どんな援助も素晴らしいでしょう!

tb -> パスワードが入力されている TextBox。すべての空白を削除してトリミングしました(ユーザーが失敗した場合に備えて)

4

1 に答える 1

1

これを試すことができますか:

bool validatedOnDomain = pc.ValidateCredentials(userName, tb.Text.ToString().Trim(), ContextOptions.Negotiate); 

サーバーへのバインドに使用するオプションを指定するだけです。

于 2012-02-15T17:07:55.650 に答える