diff --git a/framework/src/Volo.Abp.MultiTenancy/System/Security/Principal/AbpClaimsIdentityExtensions.cs b/framework/src/Volo.Abp.MultiTenancy/System/Security/Principal/AbpClaimsIdentityExtensions.cs new file mode 100644 index 0000000000..5b9d2493b9 --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy/System/Security/Principal/AbpClaimsIdentityExtensions.cs @@ -0,0 +1,25 @@ +using System.Security.Claims; +using JetBrains.Annotations; +using Volo.Abp.MultiTenancy; + +namespace System.Security.Principal +{ + public static class AbpMultiTenancyClaimsIdentityExtensions + { + public static MultiTenancySides GetMultiTenancySide([NotNull] this IIdentity identity) + { + var tenantId = identity.FindTenantId(); + return tenantId.HasValue + ? MultiTenancySides.Tenant + : MultiTenancySides.Host; + } + + public static MultiTenancySides GetMultiTenancySide([NotNull] this ClaimsPrincipal principal) + { + var tenantId = principal.FindTenantId(); + return tenantId.HasValue + ? MultiTenancySides.Tenant + : MultiTenancySides.Host; + } + } +}