在我的应用程序中,有不同的用户角色,如admin,user,superuser。我在我的应用程序中使用ASP .net成员资格提供程序。在我的machine.config文件中,maxInvalidPasswordAttempts设置为5,这是所有用户的默认值。我的问题是,即使对于管理员用户,最大无效密码尝试次数为5.我只需要更改管理员用户的最大无效密码尝试次数。请帮忙。
答案 0 :(得分:3)
我认为默认提供商无法做到这一点。由于MaxInvalidPasswordAttempts
甚至没有在数据库中持久存在,据我所知。您可能需要考虑编写实现此附加层的派生成员资格提供程序。
public class myMembershipProvider : System.Web.Security.SqlMembershipProvider
{
public override int MaxInvalidPasswordAttempts
{
get
{
//Check to the role of the user....and pass back the attempts allowed for them
if (HttpContext.Current.User.IsInRole(Admin))
{
return 9999; whatever...
}
return base.MaxInvalidPasswordAttempts;
}
}
}