2

これらの指示に従って、メンバーシップ関連のスキーマを既存のデータベース (myDatabase と呼びましょう) に追加しています。

その結果、多数のテーブル、ビュー、およびストアド プロシージャが myDatabase に作成されています。

次のステップは、アプリケーションが CustomizedMembershipProvider を使用するように web.config を変更することです。

<membership defaultProvider="CustomizedMembershipProvider">
      <providers>
         <add name="CustomizedMembershipProvider"
              type="System.Web.Security.SqlMembershipProvider"
              connectionStringName="MyDBConnectionString" />
      </providers>
    </membership>

次に、次のような接続文字列も指定する必要があります。

<connectionStrings>
     <add name="MyDB" MyDBConnectionString ="..." />
  </connectionStrings>

これが私の質問です:

  1. アプリケーションが使用する接続文字列とは異なる接続文字列を使用する必要がありますか? 特にメンバーシップ オブジェクトに関連する権限を持つ新しいユーザーをデータベースに作成する必要があるのでしょうか。
  2. 接続文字列がユーザー ID などで指定されたら、新しく作成されたオブジェクトに対してそのユーザーにアクセス許可を付与する必要がありますか? それはストアド プロシージャのみでしょうか、それともテーブルとビューでしょうか?

編集: メンバーシップ オブジェクトと共にデータベースに一連のロールが作成されていることに気付きました。そのため、ユーザーを適切な役割に割り当てることが重要です。役割はのようなものです

aspnet_Membership_FullAccess
aspnet_Personalization_FullAccess
etc...

したがって、質問の最初の部分だけがそのまま残ります。新しいデータベースユーザーを作成することにポイントはありますか(データベース接続を分離します)

4

4 に答える 4

2

メンバーシップ プロバイダーに関するいくつかの良いテキスト:

于 2008-11-12T11:52:04.200 に答える
2

ちょっと調べてみたら、

  1. 標準接続が使用可能
  2. 権限に関しては、データベース ユーザーを aspnet_Membership_FullAccess ロール (関連する権限が必要な場合は他のロール)に割り当てることの問題のようです。
于 2008-11-12T12:03:23.163 に答える
0

パフォーマンス上の理由から、同じ接続文字列を使用することをお勧めします。アプリケーションと同じ接続文字列を使用すると、より効率的な接続プールが可能になります。

于 2008-11-12T11:47:01.293 に答える
0
  1. アプリケーションと同じユーザー/データベースを使用してもまったく問題ありません。
  2. わかりません、すみません。
于 2008-11-12T11:38:23.603 に答える