admin

为什么我只有一个asp.net成员资格表的子集?

sql

摘要: 我正在尝试使用asp.net成员身份,角色和配置文件,但是在获取代码以使用aspnet_regsql.exe生成的表方面遇到麻烦。

我试过的

  1. 在我的数据库上运行aspnet_regsql.exe。这项工作奏效了,所有表都创建了。
  2. 称为 Membership.CreateUser("tester7","tester7","tester7@hi.com");

然后,这将创建以下表,并将用户存储在dbo.Memberships中,而不是dbo.aspnet_Memberships中。

  • dbo。应用程序
  • dbo.Memberships
  • dbo.Profiles
  • dbo.Roles
  • dbo.Users
  • dbo.UsersInRoles

它完全忽略了由aspnet_regsql.exe创建的表。

为什么会发生这种情况,我该怎么做才能定位到aspnet_ *表?

编辑以包含Web.config成员资格注册

<membership defaultProvider="ProjectMembershipProvider">
  <providers>
    <add name="ProjectMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider,..." connectionStringName="ProjectSql" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="Project" />
  </providers>
</membership>

阅读 141

收藏
2021-06-07

共1个答案

admin

您必须在配置文件中添加注册部分

System.Web.Providers.DefaultMembershipProvider位于Sql Compact和Azur应用程序上

您有成员资格部分,还有角色管理者部分

<membership>

  <providers>

    <add

      name="AspNetSqlMembershipProvider"

      type="System.Web.Security.SqlMembershipProvider, ..."

      connectionStringName="LocalSqlServer"

      enablePasswordRetrieval="false"

      enablePasswordReset="true"

      requiresQuestionAndAnswer="true"

      applicationName="/"

      requiresUniqueEmail="false"

      passwordFormat="Hashed"

      maxInvalidPasswordAttempts="5"

      minRequiredPasswordLength="7"

      minRequiredNonalphanumericCharacters="1"

      passwordAttemptWindow="10"

      passwordStrengthRegularExpression=""

    />

  </providers>

</membership>
2021-06-07