2017-02-25 1 views
0

Ich habe einige Fragen zum Multi-Tenant in asp.net Kern, Einzel DBAsp.Net Core Multi-Tenant

public class ApplicationUser : IdentityUser<int> 
{ 
    public int TenantId { get; set; } 
    public UserStatus Status { get; set; } 

    public virtual Tenant Tenant { get; set; } 
} 

für das registrierte Konto dieses Code unten es ein neues Konto einzufügen arbeiten.

var user = new ApplicationUser { VendorId = model.VendorId, UserName = model.Username, Email = model.Email, Status = UserStatus.Active }; 
var result = await _userManager.CreateAsync(user, model.Password); 

Ich habe ein Problem bei der Implementierung der Anmeldung gefunden.

var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, lockoutOnFailure: false); 

Was ist die Lösung für das Verfahren PasswordSignInAsync, FindByNameAsync

da ich von tenantId für alle Abfrage von Usermanager und SignInManager

Antwort

-1

Aufgrund meiner Erfahrung beschränken möchten, können Sie ein paar haben der Optionen hier

  1. Entweder erhalten Sie den Namen des Mieters [Firmenname] vom Benutzer wie Amazon, um die Mieter-ID aus der Verwendung i abzuleiten nput
  2. Geben Sie die Mandanten-ID aus dem eindeutigen Benutzernamen oder der E-Mail-ID ein, die Office 365 von Microsoft ähnelt.
  3. Wenn ein Benutzer Zugriff auf mehrere Unternehmen hat, erlauben Sie dem Benutzer einfach, sich vom primären Mandanten anzumelden und alle zugänglichen Mandanten in seinem Arbeitsbereich oder Portal oder seiner Homepage aufzulisten.

Sie können nur versuchen, den Benutzer Informationen von Asp.Net Identity zu bekommen und es dann zu validieren gegen die Benutzereingabe und auch die gleiche verwenden, um die Mieter-ID oder Mieter Kontext zu schließen, dass der Benutzer sich anmelden will.

HTH

+0

Asp.Net Identität wie – tomato45un

+0

Leider zu verlängern, Ihnen zu antworten. Woher kennen Sie die Mieter-ID, während Sie den Benutzer anmelden? – Saravanan