2

我已Roles在我的 ASP.NET Web 应用程序中启用,但我对它们的存储位置有点困惑。在我的旧项目中,每个角色都会出现在 ASP.NET 角色表中,我可以看到它们。但是,在我的新项目中,我在数据库表中看不到任何角色。奇怪的是,我仍然可以使用它们(以及默认的 Roles/Membership API)并且一切正常。任何想法为什么它们没有出现在数据库表本身,以及它们实际存储在哪里?

我的web.config文件有这个:

<roleManager enabled="true" />

使用 ASP.NET 配置工具,我的默认角色提供程序是AspNetSqlRoleProvider.

谢谢 更新 我在我的 web.confg 中明确添加了这个

 <roleManager enabled="true" >

      <providers>
        <clear/>
        <add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
      </providers>
    </roleManager>
4

3 回答 3

2

默认情况下,它确实使用本地数据库,除非角色提供程序指向使用不同数据库连接的数据库。

如果您在自己的自定义数据库而不是 ASPNETDB.mdf 文件中设置表,则必须设置指向 SQLroleprovider 的自定义提供程序定义,并提供对数据库所在位置的自定义连接字符串引用。

HTH。

于 2010-02-17T18:13:16.540 回答
0

在您的 asp.net 成员数据库中有两个表:aspnet_Roles 包含角色,aspnet_UsersInRoles 包含用户与角色的关联。

于 2010-02-17T17:24:27.420 回答
0

它将在 App_Data 文件夹中构建它的 OWN 数据库并在那里创建所需的表

于 2010-02-17T17:25:07.497 回答