2014-04-20 6 views
10

Non riesco a comprendere la nuova roba Identity. Sto cercando di capire come aggiungere nuovi ruoli e aggiungere utenti a quei ruoli. Sto cercando di creare una pagina di gestione dei ruoli e una pagina di gestione degli utenti per la mia applicazione e devo essere in grado di fare queste due cose. Ogni volta cerco di aggiungere un ruolo a un utente come questo: System.Web.Security.Roles.AddUserToRole ("Andy", "admin"); Ottengo "La funzione Role Manager non è stata abilitata." Non ho un fornitore di ruoli personalizzato e ho provato a abilitare il gestore ruolo, ma ho appena ricevuto un errore sul mancato utilizzo di un provider di ruoli. Ho immaginato che Identity avesse già tutto questo? Qualcuno può aiutarmi attraverso questo?asp Identity 2.0 aggiunta di nuovi ruoli e aggiunta di utenti ai ruoli

risposta

17

System.Web.Security è il vecchio framework di appartenenza ASP.NET. L'identità di ASP.NET si trova nello spazio dei nomi Microsoft.AspNet.Identity. Utilizzare uno RoleManager per creare ruoli e un UserManager per aggiungere utenti ai ruoli.

var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); 
roleManager.Create(new IdentityRole("Administrator")); 

var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); 
var user = new ApplicationUser { UserName = "admin" }; 
userManager.Create(user, "admin321"); 
userManager.AddToRole(user.Id, "Administrator"); 
+0

UserManager e RoleManager implementano IDisposable in modo che sia necessario prendere in considerazione anche questo. –