1


1) aspnet_Profile テーブルに ApplicationId 列がなく、aspnet_Membership および aspnet_Roles テーブルが ApplicationID 列を定義する理由はありますか?


2) 現在のユーザーのプロファイルを作成し、プロファイル プロバイダーの applicationName を変更すると、同じユーザーのプロファイルを読み取ることができなくなります。したがって、プロファイル プロバイダーは、applicationName が変更される前にこのユーザーのテーブル エントリが作成されたことを何らかの方法で認識しているようです。

しかし、aspnet_Profile には ApplicationID 列が含まれていないため、どのようにそれが可能なのでしょうか?


ありがとうございました


編集:

2) プロファイル プロバイダーのアプリケーション名を変更する方法がわかりません。プロファイル セクションのプロバイダー エントリの属性ではありません。これは、メンバーシップ セクションのプロバイダーの属性であり、理にかなっています


applicationName 属性を指定できたので、プロファイル プロバイダーが何らかの方法でそれを使用していると仮定する必要があります。

   <profile defaultProvider="defaultP">
    <providers>
      <add name="defaultP"
           connectionStringName="connect"
           applicationName="_someName"


4

1 に答える 1

2

1) aspnet セキュリティ システムのデータベース テーブルを見ると、プロファイル レコードはユーザーに関連付けられており、ユーザーはアプリケーションに関連付けられています。すべてのプロファイルはユーザーに関連付けられているため、プロファイル自体でアプリケーションを明示的に指定する必要はありません (これは、ユーザーのアプリケーションによって暗示されます)。

2) プロファイル プロバイダーのアプリケーション名を変更する方法がわかりません。プロファイル セクションのプロバイダー エントリの属性ではありません。これはメンバーシップ セクションのプロバイダーの属性であり、理にかなっています。

于 2009-11-16T20:18:55.707 に答える