2016-11-08 2 views
3

Ich lerne immer noch Identitäten mit asp.net Kern. Ich mache eine anspruchsbasierte Token-Autorisierung. Die meisten Beispiele beziehen sich auf den angemeldeten Benutzer "Current". In meinem Fall erhält mein RPC-Dienst einen Benutzernamen & Kennwort eines Benutzers in der Identitätsdatenbank. Ich mussWie bekomme ich Ansprüche eines anderen Benutzers mit ASP.NET Core

  1. überprüfen, ob ein Benutzer mit einer solchen Anmeldeinformationen existieren
  2. alle Ansprüche erhalten dieses Benutzers

so zu überprüfen, ob der Benutzer vorhanden ist, verwende ich diese:

ApplicationUser applicationUser = await _userManager.FindByNameAsync(username); 
bool exist = await _userManager.CheckPasswordAsync(applicationUser, password); 
if (!exist) 
{ 
    // log and return 
} 

Ich weiß nicht, wie man den 2. Schritt richtig macht. Ich denke, ich könnte eine einfache Linq machen, um alle Ansprüche des Benutzers zu sammeln, aber ich bin mir sicher, dass es einen besseren Weg gibt, die Identitätsmethoden zu verwenden.

+2

'_userManager.GetClaimsAsync (applicationUser)' Siehst du? – haim770

+0

das war es. Ich habe es kompliziert mit dem Versuch, den Hauptbenutzer und die ClaimsIdentity dieses Benutzers zu erhalten. Markiere es als Antwort bitte. – user1019042

Antwort

4

Sie müssen die GetClaimsAsync() Methode verwenden. Zum Beispiel:

var claims = await _userManager.GetClaimsAsync(applicationUser); 

MSDN

Verwandte Themen