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

时间:2012-08-30 18:46:53

标签: c# asp.net .net sql membership-provider

要点: 我正在尝试使用asp.net成员资格,角色和配置文件,但我无法让我的代码使用aspnet_regsql.exe生成的表。

我尝试了什么:

  1. 在我的数据库上运行aspnet_regsql.exe。这很有效,所有表格都已创建。
  2. 被叫Membership.CreateUser("tester7","tester7","tester7@hi.com");
  3. 然后创建了以下表格并将用户存储在dbo.Memberships而不是dbo.aspnet_Memberships。

    • dbo.Applications
    • 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>
    

1 个答案:

答案 0 :(得分:1)

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

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>