获取失败的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登录尝试次数?
如有任何帮助,我们将不胜感激。
Membership
类是泛型的。要获得帐户的AD特定属性,我猜您仍然需要使用该帐户的UserPrincipal
实例。顺便说一句,如果可能的话,你也可以使用像管理引擎审计这样的产品:http://www.manageengine.com/products/active-directory-audit/