【发布时间】:2018-09-05 06:44:35
【问题描述】:
我正在尝试构建多租户 ASP.NET Core 2.1 WebApi。 我想从 jwt 令牌而不是从 url 或端口中选择租户。 所以当用户请求令牌时,我将它的tenant_id 放入令牌中。 但是当我尝试像这样解析 Autofac 多租户策略 (ITenantIdentificationStrategy) 中的 TenantId 时:
public bool TryIdentifyTenant(out object tenantId)
{
_logger.LogInformation("***********************************TryIdentify");
tenantId = null;
try
{
var context = _httpContextAccessor()?.HttpContext;
if(context != null && context.Request != null)
{
var id = context.User.FindFirst("tenantId")?.Value;
if (id != null)
{
tenantId = id;
}
}
}
catch(Exception)
{
// Happens at app startup in IIS 7.0
}
return tenantId != null;
}
我看到 context.User 没有被 jet 填充,那是因为 Jwt 身份验证没有发生 jet。
怎么做?
【问题讨论】:
标签: jwt autofac multi-tenant asp.net-core-webapi