我可以找到使用 ActiveDirectoryMember-Provider 的示例,但我找不到有关如何使用 ASP.NET Identity 在 Intranet 上下文中向 Active Directory 进行身份验证的信息。
标识框架应该取代成员资格和角色提供程序,但它似乎不允许在没有 ADFS 的情况下对本地活动目录进行身份验证。
有没有办法将身份与非ADFS活动目录一起使用?如果没有,是否建议改用 ActiveDirectoryMember-Provider?
我目前正在使用LdapConnection(System.DirectoryServices.Protocols)将用户绑定到AD并将用户名存储为会话变量。然后,我可以检查用户是否记录在每个页面的 PreInit 事件中。但我正在寻找一种使用应用程序范围身份验证的方法,并检查 AD 中的用户角色。
您需要使用该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);
此代码可以帮助您使用活动目录验证用户。