31 lines
798 B
C#
31 lines
798 B
C#
namespace MarcoBMS.Services.Middleware
|
|
{
|
|
public class TenantMiddleware
|
|
{
|
|
private readonly RequestDelegate _next;
|
|
|
|
public TenantMiddleware(RequestDelegate next)
|
|
{
|
|
_next = next;
|
|
}
|
|
|
|
public async Task Invoke(HttpContext context)
|
|
{
|
|
if (context.User.Identity != null && context.User.Identity.IsAuthenticated)
|
|
{
|
|
var tenantId = context.User.FindFirst("tenantId")?.Value;
|
|
if (tenantId == null)
|
|
{
|
|
tenantId = "1";
|
|
}
|
|
if (!string.IsNullOrEmpty(tenantId))
|
|
{
|
|
context.Items["TenantId"] = tenantId;
|
|
}
|
|
}
|
|
|
|
await _next(context);
|
|
}
|
|
}
|
|
}
|