我试图在我的MVC应用程序中使用AD LDS进行用户身份验证。我已经设法编写了一些代码,允许我创建/编辑/删除用户和组,但我似乎无法验证它们。下面是我的示例代码:
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"只给出一个错误,要么密码或用户名是不正确的。
我已经玩了上下文选项,但没有任何运气。
任何想法?
所以我找到了解决方案,我张贴了一个类似的问题。
我所做的,并为我工作,是在调用validatecredals时,我修改了用户名:
bool auth = context.ValidateCredentials(
String.Format("CN={0},CN=Kontrahenci,DC=TestApp,DC=loc",
userName),
password);