我想为 aspnet 使用 mysql 角色提供程序。我已经使用属性 userTableName="user" 为用户设置了一个自定义表。现在的问题是,当我将用户分配给角色时,MYSQLRolesprovider 在表“my_aspnet_usersinroles”和“my_aspnet_users”中创建一个条目。我想指定用于指定角色的表应该是“用户”表。我怎么做?我需要编写自定义角色提供程序吗?有没有我可以调整的设置来建立这种关联?还是我只是错误地使用了整个系统?谢谢
问问题
119 次
2 回答
0
您需要为用户及其角色提供单独的表。一般一共三个,一个给用户,一个给角色,一个给一个用户绑定一个或多个角色。usersinroles 表允许一对多关系,因此您的用户可以拥有多个角色。此外,良好的数据库设计将规定这一点,并且用户表应该只包含与用户本身直接相关的工件。
于 2014-10-10T20:14:23.993 回答
0
指定用于指定角色的表应该是“用户”表。
如果您希望 Membership Provider 使用您的 User 表,您需要实现Custom Membership Provider。
自定义会员提供者需要做很多工作,特别是如果您是会员提供者和提供者模型的新手。
替代方法
- 如果您不需要 Membership Provider 的所有功能,请使用FormAuthentication 。
或者
- 在 User 表中创建 UserId 作为 PrimaryKey 以及 ForeignKey,如下所示。(这种方法的一个缺点是您只能在新应用程序中使用;您不能在现有数据库中实现。)
于 2014-10-10T21:03:18.830 回答