2016-11-28 5 views
-1

Ich bin wirklich neu zu ASP.NETMVC Programmierung und ich verwende derzeit die Standardvorlage für ein Webanwendungsprojekt, das die Methoden zur Registrierung Benutzer, Benutzerverwaltung und so weiter einschließlich der db sowie enthält. Allerdings ist es möglich für mich roles manuell in der Standarddatenbank hinzuzufügen, wie folgt:ASP.NET MVC Hinzufügen von Rollen manuell

Adding roles manually

und bekommen es statt mit Ansichten arbeiten roles zu schaffen?

+0

Haben Sie es versucht? Was war das Ergebnis? – mason

+0

ich tat, aber ich kann nicht wirklich die Rollen abrufen mit '' ASP.NET IDENTITY'' – Pow4Pow5

Antwort

1

Zur Rolle zu einem Benutzer hinzufügen, die Sie zunächst eine neue Rolle in AspNetRoles Tabelle hinzufügen müssen (was Sie bereits getan haben)
Dann müssen Sie id in AspNetUserRoles Tabelle die entsprechenden Benutzer-ID und die Rolle einfügen

+0

Ja, ich auch tat, aber wie rufe ich die Rolle des angemeldeten Benutzers? @Steve – Pow4Pow5

+0

@ Pow4Pow5 ((Roleprincipal) User) .GetRoles(); oder Roles.GetRolesForUser() – Steve

0

Identität 3 (ASP.NET Core)

erstellen:

var role = await _roleManager.FindByNameAsync("Admin"); 
if (role == null) 
{ 
    role = new IdentityRole("Admin"); 
    await _roleManager.CreateAsync(role); 
} 

Btw: Best Ihre Rollen in einer Konstanten Klasse zu platzieren.

Abrufen Rolle des Benutzers: ich folgende Erweiterungsmethode verwendet.

public static string GetUserRole(this ClaimsPrincipal principal) 
{ 
    if (principal == null) 
    { 
     throw new ArgumentNullException(nameof(principal)); 
    } 
    return principal.Claims.SingleOrDefault(c => c.Type == "role")?.Value; 
} 

Controller:

var role = User.GetUserRole(); 
Verwandte Themen