为现有的C#MVC 5项目实施基于组的权限管理

为现有的C#MVC 5项目实施基于组的权限管理,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个已经在使用Identity 2.0的现有web应用程序,以及在Azure云上创建新的MVC 5 web应用程序时附带的基本登录功能,设置了“个人帐户”(MVC应用程序是使用VS 2013 update 4创建的) 我想向我的用户模型添加更多数据,例如角色(来宾、成员、主持人、管理员),以便他们在web应用程序上有不同的体验和选项 我研究这个问题已经有几个星期了,我发现唯一的成功之处在于以下几点: 我在这些教程中遇到的问题是,它们要求您创建一个全新的项目,并使用Identity 2.0

我有一个已经在使用Identity 2.0的现有web应用程序,以及在Azure云上创建新的MVC 5 web应用程序时附带的基本登录功能,设置了“个人帐户”(MVC应用程序是使用VS 2013 update 4创建的)

我想向我的用户模型添加更多数据,例如角色(来宾、成员、主持人、管理员),以便他们在web应用程序上有不同的体验和选项

我研究这个问题已经有几个星期了,我发现唯一的成功之处在于以下几点:

我在这些教程中遇到的问题是,它们要求您创建一个全新的项目,并使用Identity 2.0示例项目,该项目添加了大量视图和控制器,使项目很难理解正在发生的事情:

 PM> Install-Package Microsoft.AspNet.Identity.Samples -Pre
这真的是实现此功能的最佳教程吗?我觉得添加两个控制器、X个视图以及添加地址(如第一个链接中所示)等简单内容所带来的重复不应该是我在5-8个位置编写几乎相同代码的任务

有没有其他好的教程推荐我去做,告诉我如何为每个用户添加角色,然后能够根据角色定制网站体验


感谢您在这件事上的帮助。

您的例子;如果您已经使用了nuget软件包,则不需要重新添加或安装它们。只要再往下走,越过那些台阶就行了。您需要在3-4个位置添加几乎相同的代码,因为如果要使用正在添加的任何新特性,您需要更新模型、视图和控制器。如果您只是想根据角色区分视图,那么只需在控制器上的操作方法中使用switch语句来确定角色,并返回适当的视图THO,这些视图THO很快就会变得丑陋,因此可以使用自定义帮助器生成基于角色的链接