2

概要: asp.netのメンバーシップ、ロール、およびプロファイルを使用しようとしていますが、コードでaspnet_regsql.exeによって生成されたテーブルを使用するのに問題があります。

私が試したこと:

  1. データベースでaspnet_regsql.exeを実行しました。これは機能し、すべてのテーブルが作成されました。
  2. と呼ばれるMembership.CreateUser("tester7","tester7","tester7@hi.com");

次に、次のテーブルを作成し、ユーザーをdbo.aspnet_Membershipsではなくdbo.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>
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 に答える