【发布时间】:2010-10-09 07:00:36
【问题描述】:
我已经开发了 asp.net mvc + C# 应用程序。它有 2 个用户,分别是超级管理员、管理员和用户。我想根据他们的角色管理功能。我正在管理 sql server 数据库中的数据。如何在 asp.net mvc 中管理它?我应该在哪里写这个管理的代码?
【问题讨论】:
标签: asp.net-mvc-2
我已经开发了 asp.net mvc + C# 应用程序。它有 2 个用户,分别是超级管理员、管理员和用户。我想根据他们的角色管理功能。我正在管理 sql server 数据库中的数据。如何在 asp.net mvc 中管理它?我应该在哪里写这个管理的代码?
【问题讨论】:
标签: asp.net-mvc-2
嗯,我能想到两个选择。
您可以使用 asp.Net 的默认 sqlMembershipProvider 和 sqlRoleProvider 来验证和授权您的用户。如果这样做,您必须将其数据库与您的数据库合并。在这种情况下,您只需编写:
[Authorize(Role="Administrator")]
public ActionResult myAction(){}
authorize 属性只允许管理员输入myAction actionresult。 (检查 asp.net 成员和角色数据库中是否有管理员角色 - 那里几乎有六个角色,但我没有使用它们。
第二种选择是使用您自己的数据库来存储角色信息并编写您自己的授权属性并用它们装饰您的actionresults。
this question 将帮助您了解如何从 AuthorizeAttribute 继承来编写您的自定义授权逻辑。
【讨论】: