【问题标题】:ASP.NET and Identity 2.0 roles with VBVB 中的 ASP.NET 和 Identity 2.0 角色
【发布时间】:2016-03-16 13:20:39
【问题描述】:

我正在尝试使用 Microsoft Passport 身份验证构建网页。这很好,但是如何为经过身份验证的用户使用角色?

我很难理解角色是如何与 2.0 一起工作的。

我可以使用Roles.CreateRole("TestRole") 创建新角色,但如果我理解正确的话,可以使用 Identity 1.0?至少它会在数据库中的 Roles 表中创建记录,而不是 AspNetRoles。

我认为我需要使用RoleManagerUserManager

任何例子如何用 VB 做到这一点。

【问题讨论】:

    标签: asp.net vb.net asp.net-identity


    【解决方案1】:

    创建角色使用RoleManager,分配角色给用户使用UserManager

    RoleManager = New RoleManager(Of IdentityRole)(New RoleStore(Of IdentityRole)(New MyDbContext()))
    Dim roleresult = RoleManager.Create(New IdentityRole(roleName))
    
    UserManager.AddToRole(currentUser.Id, roleName)
    

    【讨论】:

    • 它说 myDbContext 没有定义。我已经导入了 Microsoft.AspNet.Identity 和 Microsoft.AspNet.Identity.EntityFramework。我还需要别的吗?
    • 用你自己的 IdentityDbContext 替换 myDbContext
    • 哇。每天都有新的东西:) 得到了这个工作。 Dim RoleManager = New RoleManager(Of IdentityRole)(New RoleStore(Of IdentityRole)(New ApplicationDbContext())) 'Dim roleresult = RoleManager.Create(New IdentityRole("Administrator"))
    • 好的。那还为时过早。我能够创建角色但不能添加用户。我使用了'Dim UserManager = New UserManager(Of IdentityUser)(New UserStore(Of IdentityUser)(New ApplicationDbContext())) Dim UserResult = UserManager.AddToRole(userID, rolename)'。但出现错误“实体类型 IdentityUser 不是当前上下文模型的一部分。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 2016-10-24
    • 2014-10-28
    • 1970-01-01
    • 2014-06-08
    • 2013-12-26
    • 2016-07-12
    相关资源
    最近更新 更多