ASP.NET(MVC)用户,角色和角色中的用户

ozzy432836

在过去的两天里,我进行了一场小型战斗,尽管我已经解决了它,但它并没有达到我的预期。

Visual Studio 2013上的ASP.NET 4.5。
如果您创建一个新项目并首次启动它并注册,那么一切都很好。

它创建一个名为AspNetUsers的表,并将您放入该表中。

它还创建其他表(包括但不限于)-AspNetRoles-存储角色-AspNetUserRoles-将用户存储在角色中

因此,我首先使用数据库为所有3个表创建模型和控制器,以便可以从一个界面进行管理(我知道VS2010内置了某些东西,但似乎已经消失了,因为我学会了如何做数据库就不用担心了第一的)

问题是当我向角色添加用户时,数据显示在数据库中,但是当我尝试使用装饰器锁定控制器方法时:

[Authorize(Roles="admin")]
public string test() 
{
  return "hello";
}  

一切开始变得梨形。

所以我测试了User.IsInRole(“ admin”),令我沮丧的是它返回了false!

所以我走了web.config的旅程(这告诉角色管理器指向我的DefaultConnection(我用于所有操作))

<roleManager enabled="true" defaultProvider="SqlRoleManager">
  <providers>
    <add name="SqlRoleManager"
         type="System.Web.Security.SqlRoleProvider"
         connectionStringName="DefaultConnection"
         applicationName="ConferenceOrg" />
  </providers>
</roleManager>

然后在我使用的代码中:

string role = "admin";

if (!Roles.RoleExists(role))
{
  Roles.CreateRole(role);  
}
else
{
  string[] usrs = { User.Identity.Name };

  if (!User.IsInRole(role))  
  {
    Roles.AddUsersToRole(usrs, role);
  }
}

最初,这不起作用,因为不存在存储过程。因此,我转到了C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts,并启动了本机工具Cmd提示符(x86),并使用它来添加存储过程等

现在,上面的代码可以工作了,但是除了原始集合外,它还创建了一大堆表。

在此处输入图片说明

该代码在新的aspnet_roles表中创建角色,现在它同时在AspNetUsers和aspnet_users中创建我的用户

因此,我的下一步是先删除我使用数据库创建的表,然后将其重做为aspnet_表...

不开心,但是会成功。对我的情况有什么想法吗?

我做对了吗?

您的项目中混有Legacy SQL Membership ProviderNew ASP.Net Identity

您只需要一个成员身份,即新ASP.Net身份

在ASP.Net Identity中,您不需要在web.config中 配置任何设置(对于owin除外AppStartup)

解决方法

现在,您的数据库一团糟。由于您的应用程序是新的并且没有现有用户,因此可以轻松地重新创建新的应用程序和新的数据库,然后重新开始。

然后,确保用户和角色都分配给AspNetUserRoles表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于ASP.NET MVC中角色的自定义用户授权

来自分类Dev

如何在ASP.NET MVC 5中列出具有角色名称的用户

来自分类Dev

ASP.NET MVC或者基于用户角色的渲染EditorFor

来自分类Dev

ASP.net MVC + ASP.net身份播种角色和用户

来自分类Dev

使用会话状态在asp.net中创建用户登录名和角色的不安全方法

来自分类Dev

多站点中的ASP.NET身份用户和角色

来自分类Dev

如何在ASP.NET MVC Web API中创建角色并将用户添加到角色

来自分类Dev

我们可以在MVC 5中使用Asp.Net成员资格和角色提供程序吗?

来自分类Dev

ASP.NET MVC授权具有多个角色的用户

来自分类Dev

如何在ASP.NET MVC中手动重新生成当前的userClaims和角色

来自分类Dev

ASP.NET(MVC)用户,角色和角色中的用户

来自分类Dev

具有MVC Asp.net身份角色的用户列表

来自分类Dev

在ASP .NET MVC中更改角色权限

来自分类Dev

检查用户是否在asp.net mvc Identity中扮演角色

来自分类Dev

在ASP.NET MVC和Azure AD中创建自定义用户角色

来自分类Dev

如何使用Identity ASP.NET Core通过代码优先迁移为用户和角色播种

来自分类Dev

ASP.NET身份数据库第一个自定义用户和角色

来自分类Dev

获取ASP.NET Core MVC中当前登录用户的角色

来自分类Dev

尝试为Asp.Net mvc 5中的用户和角色播种数据时出错

来自分类Dev

ASP.NET 2.2用户角色的问题

来自分类Dev

如何从ASP Net中的用户角色表中获取角色ID

来自分类Dev

ASP.Net MVC 5检查用户角色的_Layout

来自分类Dev

ASP.net 4.5成员资格和角色将用户添加到角色

来自分类Dev

我们可以在MVC 5中使用Asp.Net成员资格和角色提供程序吗?

来自分类Dev

列出asp.net Identity 2.0中的用户和角色

来自分类Dev

角色/用户的ASP.NET MVC黑名单

来自分类Dev

ASP.Net身份,角色中的用户始终为空

来自分类Dev

ASP.NET MVC 5 自定义 RoleProvider 无法从数据库中检索用户名的角色

来自分类Dev

如何使用 ASP.NET Core identity v preview 3.0 创建自定义用户和角色?

Related 相关文章

  1. 1

    基于ASP.NET MVC中角色的自定义用户授权

  2. 2

    如何在ASP.NET MVC 5中列出具有角色名称的用户

  3. 3

    ASP.NET MVC或者基于用户角色的渲染EditorFor

  4. 4

    ASP.net MVC + ASP.net身份播种角色和用户

  5. 5

    使用会话状态在asp.net中创建用户登录名和角色的不安全方法

  6. 6

    多站点中的ASP.NET身份用户和角色

  7. 7

    如何在ASP.NET MVC Web API中创建角色并将用户添加到角色

  8. 8

    我们可以在MVC 5中使用Asp.Net成员资格和角色提供程序吗?

  9. 9

    ASP.NET MVC授权具有多个角色的用户

  10. 10

    如何在ASP.NET MVC中手动重新生成当前的userClaims和角色

  11. 11

    ASP.NET(MVC)用户,角色和角色中的用户

  12. 12

    具有MVC Asp.net身份角色的用户列表

  13. 13

    在ASP .NET MVC中更改角色权限

  14. 14

    检查用户是否在asp.net mvc Identity中扮演角色

  15. 15

    在ASP.NET MVC和Azure AD中创建自定义用户角色

  16. 16

    如何使用Identity ASP.NET Core通过代码优先迁移为用户和角色播种

  17. 17

    ASP.NET身份数据库第一个自定义用户和角色

  18. 18

    获取ASP.NET Core MVC中当前登录用户的角色

  19. 19

    尝试为Asp.Net mvc 5中的用户和角色播种数据时出错

  20. 20

    ASP.NET 2.2用户角色的问题

  21. 21

    如何从ASP Net中的用户角色表中获取角色ID

  22. 22

    ASP.Net MVC 5检查用户角色的_Layout

  23. 23

    ASP.net 4.5成员资格和角色将用户添加到角色

  24. 24

    我们可以在MVC 5中使用Asp.Net成员资格和角色提供程序吗?

  25. 25

    列出asp.net Identity 2.0中的用户和角色

  26. 26

    角色/用户的ASP.NET MVC黑名单

  27. 27

    ASP.Net身份,角色中的用户始终为空

  28. 28

    ASP.NET MVC 5 自定义 RoleProvider 无法从数据库中检索用户名的角色

  29. 29

    如何使用 ASP.NET Core identity v preview 3.0 创建自定义用户和角色?

热门标签

归档