如何处理在MVC行动为基础的权限(How to handle action based permis

2019-10-16 17:22发布

我是新来的MVC,我想获得关于如何在我的应用程序,以最好地处理基于操作权限的建议。

目前,我已经在这对渲染视图当前用户做工精细的控制水平正在检查一些全局权限访问,等等。

然而,一旦视图已经被渲染,我要做出决定,如“启用删除按钮,只要用户有删除权限当前选择的项目”在这一点上,这些权限不再是全球而是基于对上下文对象选择。

我应该怎么写我的代码来处理这种类型的场景?

Answer 1:

默认情况下,您的浏览访问该用户对象。

您可以检查查看是否User.IsInRole(“myDeleteRole”)。

要么

@if(User.IsInRole("MyDeleteRole"))
{
<input type="subtmt" value="Delete">
}

我不知道这是不是最好的方式,但它是我在过去所做的那样

我想另一个办法是根据用户所拥有的权限,写独立意见。 这样,你可以做控制器的逻辑和用户发送到指定的视图

if(User.IsInRole("MyDeleteRole")
{
return View("MyDeleteView", vm)
}
else
{
return View("NoDeleteView", vm)
}


文章来源: How to handle action based permissions in MVC