类 SaApiKeyTemplate

java.lang.Object
cn.dev33.satoken.apikey.SaApiKeyTemplate

public class SaApiKeyTemplate extends Object
API Key 操作类
从以下版本开始:
1.42.0
作者:
click33
  • 字段详细资料

    • DEFAULT_NAMESPACE

      public static final String DEFAULT_NAMESPACE
      默认命名空间
      另请参阅:
    • namespace

      public String namespace
      命名空间
    • rawSessionDelegator

      public SaRawSessionDelegator rawSessionDelegator
      Raw Session 读写委托
    • API_KEY_LIST

      public static final String API_KEY_LIST
      在 raw-session 中的保存索引列表使用的 key
      另请参阅:
  • 构造器详细资料

    • SaApiKeyTemplate

      public SaApiKeyTemplate()
    • SaApiKeyTemplate

      public SaApiKeyTemplate(String namespace)
      实例化
      参数:
      namespace - 命名空间,用于多实例隔离
  • 方法详细资料

    • getApiKeyModelFromCache

      public ApiKeyModel getApiKeyModelFromCache(String apiKey)
      根据 apiKey 从 Cache 获取 ApiKeyModel 信息
      参数:
      apiKey - /
      返回:
      /
    • getApiKeyModelFromDatabase

      public ApiKeyModel getApiKeyModelFromDatabase(String apiKey)
      根据 apiKey 从 Database 获取 ApiKeyModel 信息
      参数:
      apiKey - /
      返回:
      /
    • getApiKey

      public ApiKeyModel getApiKey(String apiKey)
      获取 ApiKeyModel,无效的 ApiKey 会返回 null
      参数:
      apiKey - /
      返回:
      /
    • checkApiKey

      public ApiKeyModel checkApiKey(String apiKey)
      校验 ApiKey,成功返回 ApiKeyModel,失败则抛出异常
      参数:
      apiKey - /
      返回:
      /
    • saveApiKey

      public void saveApiKey(ApiKeyModel ak)
      持久化:ApiKeyModel
      参数:
      ak - /
    • getLoginIdByApiKey

      public Object getLoginIdByApiKey(String apiKey)
      获取 ApiKey 所代表的 LoginId
      参数:
      apiKey - ApiKey
      返回:
      LoginId
    • deleteApiKey

      public void deleteApiKey(String apiKey)
      删除 ApiKey
      参数:
      apiKey - ApiKey
    • deleteApiKeyByLoginId

      public void deleteApiKeyByLoginId(Object loginId)
      删除指定 loginId 的所有 ApiKey
      参数:
      loginId - /
    • createApiKeyModel

      public ApiKeyModel createApiKeyModel()
      创建一个 ApiKeyModel 对象
      返回:
      /
    • createApiKeyModel

      public ApiKeyModel createApiKeyModel(Object loginId)
      创建一个 ApiKeyModel 对象
      返回:
      /
    • randomApiKeyValue

      public String randomApiKeyValue()
      随机一个 ApiKey 码
      返回:
      /
    • hasApiKeyScope

      public boolean hasApiKeyScope(String apiKey, String... scopes)
      判断:指定 ApiKey 是否具有指定 Scope 列表 (AND 模式,需要全部具备),返回 true 或 false
      参数:
      apiKey - ApiKey
      scopes - 需要校验的权限列表
    • checkApiKeyScope

      public void checkApiKeyScope(String apiKey, String... scopes)
      校验:指定 ApiKey 是否具有指定 Scope 列表 (AND 模式,需要全部具备),如果不具备则抛出异常
      参数:
      apiKey - ApiKey
      scopes - 需要校验的权限列表
    • hasApiKeyScopeOr

      public boolean hasApiKeyScopeOr(String apiKey, String... scopes)
      判断:指定 ApiKey 是否具有指定 Scope 列表 (OR 模式,具备其一即可),返回 true 或 false
      参数:
      apiKey - ApiKey
      scopes - 需要校验的权限列表
    • checkApiKeyScopeOr

      public void checkApiKeyScopeOr(String apiKey, String... scopes)
      校验:指定 ApiKey 是否具有指定 Scope 列表 (OR 模式,具备其一即可),如果不具备则抛出异常
      参数:
      apiKey - ApiKey
      scopes - 需要校验的权限列表
    • isApiKeyLoginId

      public boolean isApiKeyLoginId(String apiKey, Object loginId)
      判断:指定 ApiKey 是否属于指定 LoginId,返回 true 或 false
      参数:
      apiKey - /
      loginId - /
    • checkApiKeyLoginId

      public void checkApiKeyLoginId(String apiKey, Object loginId)
      校验:指定 ApiKey 是否属于指定 LoginId,如果不是则抛出异常
      参数:
      apiKey - /
      loginId - /
    • adjustIndex

      public void adjustIndex(Object loginId, SaSession session)
      调整指定 SaSession 的 TTL 值,以保证最小化内存占用
      参数:
      loginId - /
      session - 可填写 null,代表使用 loginId 现场查询
    • getApiKeyList

      public List<ApiKeyModel> getApiKeyList(Object loginId)
      获取指定 loginId 的 ApiKey 列表记录
      参数:
      loginId - /
      返回:
      /
    • readApiKeyValue

      public String readApiKeyValue(SaRequest request)
      数据读取:从请求对象中读取 ApiKey,获取不到返回 null
    • currentApiKey

      public ApiKeyModel currentApiKey()
      数据读取:从请求对象中读取 ApiKey,并查询到 ApiKeyModel 信息
    • splicingApiKeySaveKey

      public String splicingApiKeySaveKey(String apiKey)
      拼接key:ApiKey 持久化
      参数:
      apiKey - ApiKey
      返回:
      key
    • getSaTokenDao

      public SaTokenDao getSaTokenDao()
      获取使用的 getSaTokenDao 实例
      返回:
      /
    • getSaTokenConfig

      public SaTokenConfig getSaTokenConfig()
      获取使用的 SaTokenConfig 实例
      返回:
      /
    • getIsRecordIndex

      public boolean getIsRecordIndex()
      是否保存索引信息