私は私の問題を把握することができました。そして、私はここで私たちが行くVBにC#を変換しようとしています!
私のデータベースに自分の役割をシードしました。 startup.vbで---ルートディレクトリではないビューディレクトリに---次のように記述:
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
私は私の役割(管理とユーザー)を作成するために、私のスタートアップクラスに新しいSubプロシージャに追加しました。さらに、IdentityとIdentity.EntityFrameworkの2つのインポートは、これを動作させるためにファイルに追加する必要があります。
createRoles Subでは、新しいUserManager(ユーザーにロールを追加する)とRoleManager(ロールをdbに追加する)を定義する必要があります。 2つのマネージャの中で、 'ApplicationDbContext'はDbContext(ModelフォルダのIdentityModelにあります)に置き換えられます。その後、新しいIdentityRoleオブジェクトを追加する必要があります。
次に、特定のロールが「管理」に存在するかどうかを確認します。存在しないため、ロールオブジェクトに名前を追加してRoleManagerを使用して作成します。私はすでに自分のデータベースにユーザを持っているので、UserManagerを使ってユーザにロールを追加することができます。私はデータベースから自分のユーザーIDを取得し、それを書いた後にロールの名前を書いた。
「ユーザー」を追加する他の役割については、もう一度やります。プロジェクトと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
私はこれが将来他の誰かを助けることを願っています!