Class UserDetailsTenantIdResolver

java.lang.Object
io.leandev.appfuse.security.tenant.resolver.UserDetailsTenantIdResolver
All Implemented Interfaces:
TenantIdResolver

public class UserDetailsTenantIdResolver extends Object implements TenantIdResolver

從 UserDetails 中解析租戶 ID

適用於使用非 JWT 認證方式(如 Basic Auth、Form Login)的場景。 要求應用程式的 UserDetails 實作 TenantAwareUserDetails 介面。

範例:

// authentication.getPrincipal() 是實作 TenantAwareUserDetails 的 UserDetails
TenantIdResolver resolver = new UserDetailsTenantIdResolver();
String tenantId = resolver.resolve(authentication); // "tenant-123"
See Also:
  • Constructor Details

    • UserDetailsTenantIdResolver

      public UserDetailsTenantIdResolver()
  • Method Details

    • resolve

      public String resolve(org.springframework.security.core.Authentication authentication)
      Description copied from interface: TenantIdResolver
      從認證資訊中解析租戶 ID
      Specified by:
      resolve in interface TenantIdResolver
      Parameters:
      authentication - Spring Security 認證物件,不為 null
      Returns:
      租戶 ID,若此 resolver 無法處理則返回 null