【发布时间】:2015-02-12 21:36:08
【问题描述】:
大家好, 我在正在编写的博客应用程序中实现了自己的注册和登录系统。我使用数据库优先方法并创建了一些表(dbo.UserProfiles - 包含用户信息)和其他表,我使用这些表从中生成了实体数据模型。但是,我到了需要创建管理面板的阶段,然后我意识到我需要一种方法将每个用户与特定角色(主持人、管理员、访客)相关联,并根据这些角色限制对某些页面的访问。 我的问题是,我如何为现有数据库实现角色提供程序,因为我没有使用 asp.net mvc 的默认会员系统,而且我可以使用角色来允许或限制对我网站中某些页面的访问。
【问题讨论】:
-
您是否有另一个角色表和第三个表来定义用户角色?
-
@mGouda 是的,我创建了一个名为 dbo.roles 的表,其中包含 roleId 和 roleName 列,还创建了一个名为 dbo.UsersInRoles 的表,其中包含列 roleId 和 UserId,并指定了外键关系。之后,我点击了 edmx 设计器并更新了我现有的模型以包含新添加的表格。然后我创建了一个名为 adminController 的新控制器,我添加了一个 [Authorize(Role="Admin")] 属性。导航到此页面后,我收到一条错误消息,提示“建立与 sql server 的连接时发生网络相关或特定于实例的错误。
-
你这里说的错误和原问题没有关系,这个错误说明你不能连接sql server数据库,仔细检查connectionstring和相关的东西
-
ok @mGouda 什么是解决我提出的问题的最佳方法,即向已经拥有会员系统的现有网站添加角色(不实施 asp.net mvc 的默认会员系统) .
标签: c# asp.net-mvc