c# - 登录 - 仅允许 3 次尝试

标签 c# asp.net

我正在创建一个新的应用程序..我成功创建了一个登录页面..现在我需要修改登录页面..只允许一个用户尝试3次..如果用户错误输入密码超过3次(5 分钟内)他的帐户必须被阻止..错误消息必须显示为您无法访问您的页面..请分享您的想法...

最佳答案

使用 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>

这将需要一些配置,但如果配置正确(甚至可能使用角色提供程序),默认的 asp.net 登录控件几乎可以为您处理所有事情,甚至包括 PasswordRecovery 和 CreateUserWizard。 MembershipProvider 将自动生成用户注册所需的所有表。

数据库可以是mdb文件、ms sqlserver或mysql数据库。

关于c# - 登录 - 仅允许 3 次尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3988013/

相关文章:

asp.net - 哪些移动浏览器支持 javascript(和 Ajax)?

c# - Entity Framework 返回不同的记录问题

c# - 使用 Web 服务响应

c# - Ajax Control Toolkit HTML 编辑器自定义问题?

c# - 是否可以在程序集中扫描具有特定属性的方法?

c# - 为什么 XMLTextReader 在将 StringReader 对象传递给它时不返回任何内容?

c# - 我可以将 NerdDinner 示例项目用作更大项目的基础模板吗?

c# - LINQ 查询的位置

c# - 为什么我的更新面板会生成数百个脚本 block ?

asp.net - 具有相同键的项目已被添加