忘记用户的ASP.net Web管理工具

本文关键字:Web 管理工具 net ASP 用户 忘记 | 更新日期: 2023-09-27 18:10:53

嘿,伙计们,这是我遇到的一个奇怪的问题。我正在使用内置的ASP。. NET Web管理工具,允许用户登录到我为我的工作创建的页面。到目前为止,每天只有4个人登录这个工具。登录工作很好,但偶尔有人不能再登录系统。这种情况已经发生了三次了,所以我开始认为不是他们忘记密码了。

第一次发生这种情况后,我设置了密码恢复工具,但即使这样也不起作用。输入用户名只会显示"我们无法访问您的信息"。请再试一次。"错误,这很奇怪,因为当我进入后端,用户还在那里。所以,我必须删除用户并重新创建它,这对现在来说是有效的,因为我们不使用登录做任何事情,然后登录,没有信息链接到用户。如果我们扩大规模,这可能会成为未来的一个问题。

我想知道是否有人有类似的问题,或者知道问题可能是什么?我试着做了一些研究,但我找不到太多,或者我只是在错误的搜索条件下寻找。我使用的是Visual Studio 2010 Express,所有的登录表单都是默认设置的内置控件。

如果您还需要其他进一步的信息,请告诉我。

从网上。配置文件:

<identity impersonate="true"/>
<authentication mode="Forms">
    <forms loginUrl="~/marcalendar/login.aspx"/>
</authentication>
<authorization>
    <allow roles="admin" />
    <allow roles="users" />
<deny users="?"/>
</authorization>

忘记用户的ASP.net Web管理工具

我认为这里最有可能的问题是你的用户被锁定(ASP成员的默认配置没有给出非常明确的反馈为什么登录尝试失败,只是它失败了),而不是aspnetdb不知怎么丢失/搞乱了用户信息-虽然我猜任何事情都是可能的:-)。

在网上查找。配置文件在项目的根级别。您应该看到如下内容:

<configuration>
    ...Some other stuff here...
    <system.web>
        ...Some other stuff here...
        <membership>
            <providers>
                <clear/>
                <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
            </providers>
        </membership>

<add name=.../>是其中的重要部分。您将看到登录设置的一系列调优参数。这里重要的是

  • passwordAttemptWindow="10"
  • maxInvalidPasswordAttempts="5" .

这意味着如果用户在10分钟内错误地输入密码5次,他们将被锁定(您可以使用MembershipUser以编程方式检查这一点)。IsLockedOut财产)。

如果这是问题所在,则需要实现MembershipUser。UnlockUser方法(如果您需要这部分的帮助,请告诉我)。然后你可以使用这样的代码:

MembershipUser usr = Membership.GetUser(userName); //userName is a string variable containing the username you're trying to unlock
usr.UnlockUser();

如果这不是问题,让我知道,我可以编辑/删除这个答案。