我在ASP.NET Web应用程序中启用了Roles
,但我对它们的存储位置感到困惑。在我的旧项目中,每个Role都会出现在ASP.NET Roles表中,我可以看到它们。但是,在我的新项目中,我在数据库表中看不到任何角色。奇怪的是,我仍然可以使用它们(以及默认的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>
答案 0 :(得分:2)
默认情况下,它使用本地数据库,除非角色提供程序使用不同的数据库连接指向数据库。
如果在自己的自定义数据库而不是ASPNETDB.mdf文件中设置表,则必须设置指向SQLroleprovider的自定义提供程序定义,并提供数据库所在位置的自定义连接字符串引用。 / p>
HTH。
答案 1 :(得分:0)
在你的asp.net会员数据库中有两个表:aspnet_Roles包含角色,aspnet_UsersInRoles包含用户与角色的关联。
答案 2 :(得分:0)
它将在App_Data文件夹中构建它的OWN数据库并在那里创建所需的表