我设法找出我的问题,有很多的尝试到c#转换成VB这里,我们走!
我结束了我的角色到我的数据库。在startup.vb ---在根目录下未views目录---写:
Imports Owin
Imports Microsoft.Owin
Imports Microsoft.AspNet.Identity
Imports Microsoft.AspNet.Identity.EntityFramework
<Assembly: OwinStartupAttribute(GetType(Startup))>
Partial Public Class Startup
Public Sub Configuration(app As IAppBuilder)
ConfigureAuth(app)
createRoles()
End Sub
Private Sub createRoles()
Dim UserManager As New UserManager(Of ApplicationUser)(New UserStore(Of ApplicationUser)(New ApplicationDbContext))
Dim RoleManager As New RoleManager(Of IdentityRole)(New RoleStore(Of IdentityRole)(New ApplicationDbContext))
Dim role = New IdentityRole()
If Not RoleManager.RoleExists("Administration") Then
role.Name = "Administration"
RoleManager.Create(role)
UserManager.AddToRole("user id", "Administration")
End If
If Not RoleManager.RoleExists("User") Then
role.Name = "User"
RoleManager.Create(role)
UserManager.AddToRole("user Id", "User")
End If
End Sub
End Class
我一个新的子过程中添加到我的启动类来创建我的角色(管理和用户) 。另外,Identity和Identity.EntityFramework的两个导入需要添加到文件中才能使用。
在createRoles子,我们需要定义一个新的UserManager(给角色添加到用户)和RoleManager(将角色添加到数据库)。在两个管理器内部,'ApplicationDbContext'将被您的DbContext(它在Model文件夹中的IdentityModel中找到)替换。之后,我们需要添加一个新的IdentityRole对象,也可以添加一个角色。
接下来,我们检查,如果有一定的作用存在“管理”,它不存在,所以我们的角色对象添加一个名称,并使用RoleManager创建它。由于我的数据库中已有用户,因此可以使用UserManager为用户添加角色。我从数据库中抓取了我的用户标识,然后写入该角色的名称。
我,因为我要添加“用户”其他角色再次做到这一点。建立项目和volia!您可以将具有角色的用户应用到现在您可以将这些角色应用于您的页面控制器,以便仅通过“管理”或“用户”访问页面。
我注释掉调用该函数后,我跑了它,所以它不会把它每次构建,但由于这些角色的存在,不会增加了
您可以将这些角色添加到您的网页在您的控制器像这样:
<Authorize(Roles:="Administration")>
Public Function yourPage() as ActionResult
Return View()
End Function
<Authorize(Roles:="Administration, User")>
Public Function yourPage2() as ActionResult
Return View()
End Function
我希望这可以帮助别人在未来!