我在针对 AD 验证我的用户时遇到严重问题。我可以使用 PrincipalContext 方式或 DirectoryEntry 方式来检查登录是否成功。但这对我来说还不够。我需要知道身份验证失败的原因(例如:密码过期、帐户被锁定、错误密码计数限制)。有没有办法在不使用 native win32 dll 的情况下实现这一目标。顺便说一句,这可能不会一直是一个网络项目。我的最佳解决方案可能是通用的。 感谢您的帮助...
最佳答案
你应该在异常中得到错误的原因。
如果身份验证将失败,您会通过使用 PrincipalContext 成员获取信息,例如:
- AccountExpirationDate(账户是否过期)
- AccountLockoutTime(账户是否被锁定)
- 已启用(帐户是否已启用)
- IsAccountLockedOut(账户是否被锁定)
- PermittedLogonTimes(用户现在是否允许登录)
- PermittedWorkstations(是否允许用户从此客户端登录)
关于c# - 使用 C# 的事件目录身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744644/