2

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

我尝试了什么:

  1. 在我的数据库上运行 aspnet_regsql.exe。这有效,并且所有表都已创建。
  2. Membership.CreateUser("tester7","tester7","tester7@hi.com");

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

  • dbo.Applications
  • dbo.Memberships
  • dbo.Profiles
  • dbo 角色
  • 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>
4

1 回答 1

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>
于 2012-08-30T18:51:54.980 回答