我试图从ASP.NET内置对象中获取FailedPasswordAttemptCount
并且我无法找到一个,有没有办法在不创建新的storedProc的情况下获得此值?
如果问题多余,请原谅。
提前致谢。
答案 0 :(得分:6)
build-in SqlMembershipProvider
中唯一一个使用此属性的函数是:
private void GetPasswordWithFormat(string username, bool updateLastLoginActivityDate, out int status, out string password, out int passwordFormat, out string passwordSalt, out int failedPasswordAttemptCount, out int failedPasswordAnswerAttemptCount, out bool isApproved, out DateTime lastLoginDate, out DateTime lastActivityDate)
它是私人的。因此,最好的解决方案是覆盖现有的解决方案,并使用添加方法滚动自己,以收集所需的数据,例如:
public class MySqlMembershipProvider : SqlMembershipProvider
{
public int GetFailedPasswordAttemptCount (Guid userId)
{
// SELECT FailedPasswordAttemptCount FROM aspnet_Membership WHERE UserId = UserId
}
}
用法:
var count = ((MySqlMembershipProvider)System.Web.Security.Membership.Provider).GetFailedPasswordAttemptCount(...);