首页 文章

ASP.NET身份是否与没有ADFS的内部部署Active Directory一起使用?

提问于
浏览
1

我可以使用ActiveDirectoryMembership-Provider找到示例,但是我找不到有关如何使用ASP.NET标识在Intranet上下文中使用Active Directory进行身份验证的信息 .

Identity框架应该替换成员资格和角色提供程序,但它似乎不允许在没有ADFS的情况下对内部部署的Active Director进行身份验证 .

有没有办法将Identity与非ADFS Active Directory一起使用?如果没有,是否建议使用ActiveDirectoryMembership-Provider?

我目前正在使用LdapConnection(System.DirectoryServices.Protocols)将用户绑定到AD并将用户名存储为会话变量 . 然后我可以检查用户是否登录了每个页面的PreInit事件 . 但我正在寻找一种方法来使用应用程序范围的身份验证,以检查AD中的用户角色 .

1 回答

  • 0

    您需要使用ADVAPI32.dll,以从Intranet Active Directory验证用户 .

    [DllImport("ADVAPI32.dll", EntryPoint = "LogonUserW", SetLastError = true, CharSet = CharSet.Auto)]
    
    public static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
    
    LogonUser(userName, domainName, password, 3, 1, ref token);
    

    此代码可以帮助您使用Active Directory验证用户 .

相关问题