2017-02-25 89 views
0

我有一个关于在asp.net核心的多租户夫妇的问题,单DBAsp.Net核心多租户

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

    public virtual Tenant Tenant { get; set; } 
} 

下面的代码它的工作插入一个新帐户注册户口本。

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

我在实现登录时发现问题。

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

什么是PasswordSignInAsync,FindByNameAsync

,因为我想通过tenantId基于我的经验的UserManager和SignInManager

回答

-1

的所有查询限制,你有几个方法 解决方案的选项

  1. 要么从用户那里获取用户的租户名称[公司名称],就像从亚马逊推断租户ID从使用我输入
  2. 从类似于Microsoft的Office 365的唯一用户名或电子邮件ID推断租户ID。
  3. 包含任何可能访问多个公司的用户,只允许用户从主租户登录并列出其工作空间或门户或主页中的所有可访问租户。

你可以只尝试从Asp.Net Identity用户信息,然后对其进行验证用户输入,并使用相同的推断租户ID或用户试图登录到租户环境。

HTH

+0

Asp.Net身份如何扩展 – tomato45un

+0

很抱歉,您如何知道用户在登录用户时的身份? – Saravanan