我正在创建一个新的应用程序..我成功创建了一个登录页面..现在我需要修改登录页面..只允许用户进行3次尝试..如果用户错误地输入密码超过3次(5次以内) min)他的帐户必须被屏蔽.并且必须显示错误消息,因为您无法访问您的页面..请分享您的想法...
使用MembershipProvider并在web.config中,在system.web中,您可以配置尝试次数和超时次数.根据您的要求设置maxInvalidPasswordAttempts ="3"和passwordAttemptWindow ="5".
<membership defaultProvider="MyMembershipProvider">
<providers>
<clear/>
<add name="MyMembershipProvider"
type="MyMembershipProvider"
autogenerateschema="true"
connectionStringName="MyConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="3"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="5"
passwordStrengthRegularExpression=""
applicationName="/" />
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
这将需要一些配置,但如果配置正确(甚至可能使用角色提供者),默认的asp.net登录控件几乎可以处理所有事情,甚至是PasswordRecovery和CreateUserWizard.MembershipProvider将自动为用户注册生成所有必需的表.
数据库可以是mdb文件,ms sqlserver或mysql数据库.
只需将一个 int 列添加到名为 的用户表中FailedLogins。每次他失败时都要进行计数,如果计数器大于 3,则不再允许从该帐户进行任何登录。
编辑:如果您想在一定时间后重置尝试,则必须添加日期时间列( fe LastFailedLogin)并检查是否已经过去了足够的时间以允许进一步尝试和/或重置计数器。
| 归档时间: |
|
| 查看次数: |
11274 次 |
| 最近记录: |