2017-03-10 1 views
1

Ich versuche, Rollen für den Benutzer hinzufügen, aber zuvor möchte ich überprüfen, ob es existiert oder nicht. Wie kann ich das machen? Hier ist mein CodeÜberprüfung der Rolle existiert für den Benutzer vor dem Hinzufügen

public void AddRoleForUser(ApplicationUser obj, IdentityRole role) 
    { 
     _userManager = new ApplicationUserManager(new UserStore<ApplicationUser>(_context)); 

     var currentUser = _userManager.FindById(obj.Id); 
     // before this i have to check 
     var roleresult = _userManager.AddToRole(currentUser.Id, role.Name); 
    } 

zum Beispiel habe ich einen Benutzer und dessen id = 1. Wenn ich eine Rolle für diesen Benutzer hinzufüge, möchte ich prüfen, ob es eine Rolle für diesen Benutzer gibt, bevor diesem Benutzer eine neue Rolle hinzugefügt wird.

Antwort

4

Es ist sehr einfach. Sie müssen nur User.IsInRole ("YourRoleName") überprüfen; Wenn Sie durch Benutzer-ID überprüfen möchten, dann den unten Code überprüfen,

if (!userManager.IsInRole(user.Id, "Admin")) 
     { 
      userManager.AddToRole(user.Id, "Admin"); 
     } 

Wenn sein Ihr Problem gelöst, bitte vergessen Sie nicht, als Antwort zu markieren :)

+0

Ich bin so froh, zu wissen, dass es half dir :) Prost –

+0

ich schreibe diese Abfrage in einfachen Controller nicht ein Web-API-Controller für das dann verwendet wie kann UserManger in diesem Controller verwenden? – coderwill

+0

Hallo @coderwill Überprüfen Sie meine Antwort http://stackoverflow.com/a/43251155/2376652 –

Verwandte Themen