我们是否知道如何为 VS 2013 中引入的基于 owin.org 的新身份验证系统实现 LDAP 支持。
我已经使用 Forms 身份验证编写了自己的提供程序,但它不再起作用。
任何扩展它的方法也将受到高度欢迎。我所看到的都是内置支持许多 oauth 提供商,如 Google、Twitter 和 Facebook。
我们是否知道如何为 VS 2013 中引入的基于 owin.org 的新身份验证系统实现 LDAP 支持。
我已经使用 Forms 身份验证编写了自己的提供程序,但它不再起作用。
任何扩展它的方法也将受到高度欢迎。我所看到的都是内置支持许多 oauth 提供商,如 Google、Twitter 和 Facebook。
这实际上很容易。您只需覆盖提供的 UserManager 中的 CheckPasswordAsync 方法。(完全披露,这是我的博客文章)。
public class ApplicationUserManager : UserManager<ApplicationUser> {
//...SNIP...
public override async Task<bool> CheckPasswordAsync(ApplicationUser user, string password)
{
return await Task.Run(() => {
_context = new PrincipalContext(ContextType.Domain);
return _context.ValidateCredentials(user.UserName, password, ContextOptions.Negotiate)
});
}
}
这是一个非常幼稚的方法,但它应该有效。