19

我们是否知道如何为 VS 2013 中引入的基于 owin.org 的新身份验证系统实现 LDAP 支持。

我已经使用 Forms 身份验证编写了自己的提供程序,但它不再起作用。

任何扩展它的方法也将受到高度欢迎。我所看到的都是内置支持许多 oauth 提供商,如 Google、Twitter 和 Facebook。

4

1 回答 1

1

这实际上很容易。您只需覆盖提供的 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)
        });
    }
}

这是一个非常幼稚的方法,但它应该有效。

于 2015-04-09T16:06:09.953 回答