我已经启用Roles在我的ASP.NET web应用程序,但我作为被存储在那里稍微困惑。在我的老项目中,每个角色将出现在ASP.NET角色表,我可以看到他们。然而,在我的新项目,我看不出在数据库表中的任何角色。奇怪的是,我仍然可以使用他们(和默认的角色/成员API),一切工作正常。任何想法,为什么他们没有出现在数据库表本身,实际上是被存储在那里?

web.config文件具有这样的:

<roleManager enabled="true" />

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

由于 的更新 我说这明确地在我web.confg

 <roleManager enabled="true" >

      <providers>
        <clear/>
        <add connectionStringName="myDBConnectionString" name="AspNetSqlRoleProvider"/>
      </providers>
    </roleManager>
有帮助吗?

解决方案

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

如果您在设置自己的自定义数据库,而不是ASPNETDB.MDF文件中的表格,那么你就必须设置一个自定义提供定义指向SQLroleprovider,并提供自定义连接字符串引用到数据库。

HTH。

其他提示

在你的asp.net成员数据库有两个表:aspnet_Roles包含了角色和aspnet_UsersInRoles包含用户与角色的关联

将建立它自己的数据库中App_Data文件夹并创建所需表格有

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top