1


1) aspnet_Profile 表没有 ApplicationId 列,而 aspnet_Membership 和 aspnet_Roles 表确实定义了 ApplicationID 列,是否有原因?


2) 如果我们为当前用户创建配置文件,然后更改配置文件提供者的应用程序名称,则无法再读取同一用户的配置文件。因此,配置文件提供者似乎以某种方式知道该用户的表条目是在更改 applicationName 之前创建的?

但这怎么可能,因为 aspnet_Profile 不包含 ApplicationID 列?


谢谢


编辑:

2) 我看不到如何更改配置文件提供程序的应用程序名称 - 它不是配置文件部分中提供程序条目的属性。它是成员资格部分中提供者的属性,这是有道理的


我能够指定 applicationName 属性,所以我必须假设配置文件提供程序确实以某种方式使用它:

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


4

1 回答 1

2

1) 查看 aspnet 安全系统的数据库表,Profile 记录与用户相关联,而用户与应用程序相关联。由于所有配置文件都与用户相关联,因此配置文件本身不需要显式指定应用程序(这是由用户的应用程序暗示的)。

2) 我看不到如何更改配置文件提供程序的应用程序名称 - 它不是配置文件部分中提供程序条目的属性。它是成员资格部分中提供者的属性,这是有道理的。

于 2009-11-16T20:18:55.707 回答