ASP.NET MVC4中的角色和安全性

时间:2014-01-21 07:27:22

标签: c# asp.net-mvc-4 roles

任何人都可以告诉我在ASP.NET MVC4应用程序中实现角色和安全性的最佳方法。

我正在开发一个MVC项目,我想在该项目中实现角色和安全性。我定义了从数据库中获取的角色。但我不知道如何在我的项目中使用这些角色。如何建立连接(在webconfig或其他内容中),我可以从中声明Action方法上的角色,以便只有具有这些角色的用户才能访问该方法。

就像我有一些角色:读取,编辑,更新 ..我只希望具有读取角色的用户分别根据角色执行读取操作和其他操作。

我知道这是一个非常广泛的问题。但我只是想知道在我的应用程序中实现角色和安全性的最佳方式。

一步一步的过程是什么:

我是否需要在webconfig中建立一些连接,以便定义角色的数据注释可以正常工作..

Plz帮助我们。感谢。

2 个答案:

答案 0 :(得分:0)

您使用的是哪种身份验证模式?表单身份验证具有选项User.IsInRole,但要使其工作,您需要Forms AuthenticationUser.IsInRole MSDN

您可以做的是create different views for Details, Insert/Update, Delete.然后,在每个控制器上,您只允许具有所需角色的用户。

答案 1 :(得分:0)

我认为你真正需要的是RBAC。

用户有一个或多个角色,每个角色都有很多功能。

用户&角色,一对多或多对多 角色与功能,多对多

http://en.wikipedia.org/wiki/Role-based_access_control

添加AuthorizeAttribute(例如:MyAuthorize)类。

[MyAuthorize("Admin-User-Add")]
public ActionResult Add(){}

“Admin-User-Add”是“添加用户操作”功能的唯一键。