4

MVCアプリのユーザー認証にADLDSを使用しようとしています。ユーザーとグループを作成/編集/削除できるコードを書くことができましたが、それらを認証できないようです。これが私のサンプルコードです:

using( var context = new PrincipalContext(ContextType.ApplicationDirectory, "Lenovo_T61-LapT",
                                    "CN=Kontrahenci,DC=TestApp,DC=local"))
{
    var userName = "avg.joe";
    var email = "avg.joe@smwhr.us";
    var password = "123456";
    var user = new UserPrincipal(context)
    {
        Name = userName,
        EmailAddress = email
    };
    user.SetPassword(password);
    user.Save();
    if (context.ValidateCredentials(userName , password, ContextOptions.SimpleBind))
        Console.WriteLine("Hooray!");

    user.Dispose();
}

残念ながら、これが「Writeline」に到達することはなく、パスワードまたはユーザー名のいずれかが正しくないというエラーのみが表示されます。

私はContextOptionsをいじってみましたが、運がありませんでした。

何か案は?

4

1 に答える 1

8

だから私は同様の質問に投稿した解決策を見つけました。

私がやったこと、そして私のために働いているのは、 ValidateCredentials を呼び出すときに、ユーザー名を少し変更したことです。

bool auth = context.ValidateCredentials(
                            String.Format("CN={0},CN=Kontrahenci,DC=TestApp,DC=loc",
                                          userName), 
                            password);

お役に立てれば。

于 2011-07-08T09:29:06.930 に答える