首页 > 解决方案 > 我如何进行基于角色的授权

问题描述

我正在问一个关于这个的新问题,因为我的问题已经结束。我是这个网站的新成员,所以我不知道如何提出好问题。

我正在做我的项目。我想为这个项目使用基于角色的授权,但我没有。我应该做什么,我应该研究什么?

例如程序有一个输入界面,我会从那里检查这些信息是否正确,然后这个用户将拥有管理员、编辑器等,例如管理员可以使用程序中的任何内容但编辑器不能使用某些功能比如删除或更新,所以我希望他们根据他们的角色授权做一些事情。

标签: c#

解决方案


首先,您必须为您的扩展角色管理(如项目)创建额外的表,并在操作上下文中与用户建立关系,这可能是您的控制器的操作。

一种方法是为角色创建自己的表。在这种情况下,您将只使用 Asp 网络会员用户,但这完全取决于您的要求。

其次,您必须在 MVC 中处理它,在我看来,最好的方法是通过您自己的自定义 Authorization 属性来实现它,并使用您的自定义授权属性而不是 [Authorization] 属性来装饰控制器的操作。

它非常简单。

[CustomAuthorize]
//[Authorize]
public ActionResult GetProjectTasks(string projectname)
{

}

推荐阅读