获取失败的Active Directory登录尝试次数

本文关键字:登录 Directory 失败 Active 获取 | 更新日期: 2023-09-27 18:21:46

以下是我如何在旧的webforms登录应用程序中获取失败的AD登录尝试次数:

[身份验证.cs]

var pc = new PrincipalContext(ContextType.Domain, "blahnet.blahad.com", "dc=blahnet,dc=blahad,dc=org");
bool validated = pc.ValidateCredentials(username, password, ContextOptions.Negotiate);
var ADElement = IdentityType.SamAccountName;
var up = UserPrincipal.FindByIdentity(pc, ADElement, username);
int numberOfFailedLoginAttempts = up.BadLogonCount;

到目前为止,我在新的MVC 5登录应用程序中拥有的身份验证功能如下。

[web.config]

    <membership defaultProvider="ADMembershipProvider">
      <providers>
        <clear />
        <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="SamAccountName" />
      </providers>
    </membership>
  </system.web>
  <connectionStrings>
    <add name="ADConnectionString" connectionString="LDAP://blahnet.blahad.com:389/DC=blahnet,DC=blahad,DC=com" />
  </connectionStrings>

[AccountController.cs]

bool validated = Membership.ValidateUser(model.UserName, model.Password);

有了这个新方法,我如何才能像上面那样获得失败的AD登录尝试次数?

如有任何帮助,我们将不胜感激。

获取失败的Active Directory登录尝试次数

Membership类是泛型的。要获得帐户的AD特定属性,我猜您仍然需要使用该帐户的UserPrincipal实例。顺便说一句,如果可能的话,你也可以使用像管理引擎审计这样的产品:http://www.manageengine.com/products/active-directory-audit/