2

我正在按照这些说明将与成员资格相关的模式添加到现有数据库(我们称之为 myDatabase)。

因此,在 myDatabase 中创建了许多表、视图和存储过程。

下一步是修改 web.config 以使应用程序使用 CustomizedMembershipProvider

<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
  1. 使用与您的应用程序相同的用户/数据库是完全可以的。
  2. 我不知道,对不起。
于 2008-11-12T11:38:23.603 回答
0

出于性能原因,我建议使用相同的连接字符串。使用与您的应用程序相同的连接字符串将允许更有效的连接池。

于 2008-11-12T11:47:01.293 回答