由于您在 Active Directory 中使用表单身份验证,因此只要您将 ActiveDirectoryMembershipProvider 指定为您的提供程序类型,您就应该仍然能够使用常规提供程序方法。在您的登录方法中,您可以使用
var user=Membership.GetUser(userName);
if(!user.IsOnline)
//Do some login stuff
在您的网络配置中,您将希望拥有
<membership defaultProvider="ADMembershipProvider">
<providers>
<add
name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="MyDomain\MyADUserName"
connectionPassword="MyADPassword"
enablePasswordReset="false"
attributeMapUsername="sAMAccountName"/>
</providers>
</membership>
只需填写您需要的正确部分,它应该可以正常工作。
确保您还有一个用于 AD 控制器的连接字符串
<add name="ADConnectionString" connectionString="LDAP://MyADMachine/DC=MyDomain,DC=MyTLD" />