如何在ASP.NET MVC5应用程序中使用角色设置身份验证?

时间:2013-11-14 16:15:29

标签: c# asp.net asp.net-mvc-5 asp.net-identity ef-model-first

我正在将登录系统添加到ASP.NET MVC5应用程序(之前的MVC4但转换为MVC5),并且在向网站添加帐户和角色时出现的冲突和混乱信息方面遇到了麻烦。我没有打开网站管理工具的选项(网站或项目下都没有),模板会让我对存储帐户的位置感到困惑。

我期待高负荷,因为这些帐户也将通过WebAPI用于生成会话密钥,以便在游戏中的多人游戏服务器上进行身份验证。这些帐户还将用于允许管理员更新网站上的信息。我还没看过ASP.NET身份,但是我已经沉入其中的时间,如果它将成为另一个死路,我有点不愿意看它。

我正在使用模型优先的EDMX文件连接到数据库,该数据库位于一个单独的项目中,该项目还包含一组用于联系数据库的帮助程序类。

3 个答案:

答案 0 :(得分:0)

我不确定您为什么升级项目的原因不是新提供商?

身份绝对不是死路一条。一旦您超越了如此小的学习曲线,它比以前的会员提供者更容易使用。从某种意义上说,身份也是模特第一。我知道你已经有时间沉入这个项目,但我认为如果你要继续支持这个应用程序,转移到ASP身份将会花费很多时间。

这就是我可能会这样做的。

  1. 创建一个新的MVC5项目。
  2. 打开> ServerExplorer
  3. 获取公共类ApplicationUser:IdentityUser的位置。它是根Web.Config中的“ DefaultConnection ”。
  4. 从旧的Asp成员资格提供程序导入数据并匹配相应的字段。
  5. 可以在 IdentityModels.cs>中创建不存在的字段。公共类ApplicationUser:IdentityUser

答案 1 :(得分:0)

在尝试实现我自己的自定义成员资格提供程序后,最终成为最简单快捷的方法。我按照指南进行操作,并在半小时内对我现有的数据库运行: http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/ 在此工作之后,添加自定义角色提供程序同样容易。

答案 2 :(得分:0)

您可以将角色添加到ASP.NET身份系统,并使用[授权]属性授权访问您网站的某些部分。您可以查看以下帖子,其中介绍了如何添加角色并将用户添加到角色并限制对角色http://blogs.msdn.com/b/webdev/archive/2013/10/20/building-a-simple-todo-application-with-asp-net-identity-and-associating-users-with-todoes.aspx中某些用户的访问权限 此时我们没有网站管理工具,因此您必须在应用程序中创建角色