类 ScxAuth

java.lang.Object
cool.scx.ext.organization.auth.ScxAuth

public final class ScxAuth extends Object
提供基本的认证逻辑 todo 这里的用户登录信息应该做一个缓存 防止多次从数据库中读取
版本:
1.1.4
作者:
scx567888
  • 构造器详细资料

    • ScxAuth

      public ScxAuth()
  • 方法详细资料

    • initAuth

      public static void initAuth()
      初始化 auth 模块
    • getLoginUser

      public static User getLoginUser()
      获取登录用户
      返回:
      r
    • getPerms

      public static PermsWrapper getPerms()
      简单封装方便使用
      返回:
      s
    • readSessionFromFile

      public static void readSessionFromFile()
      从文件中读取 LoginItem
    • writeSessionToFile

      public static void writeSessionToFile()
      写入 LoginItem 到文件中
    • getLoginUser

      public static User getLoginUser(io.vertx.ext.web.RoutingContext ctx)
      根据唯一标识 获取 用户

      这里并没有将用户直接存储到 session 中

      而是通过此接口进行查找是为了保证用户信息修改后回显的及时性

      参数:
      ctx - c
      返回:
      用户
    • getLoginUserByToken

      public static User getLoginUserByToken(String token)
      根据 token 获取用户
      参数:
      token - a String object.
      返回:
      a User object.
    • getAlreadyLoginClient

      public static AlreadyLoginClient getAlreadyLoginClient()
      a
      返回:
      a
    • allAlreadyLoginClients

      public static AlreadyLoginClient[] allAlreadyLoginClients()

      alreadyLoginClients.

      返回:
      a List object
    • getPerms

      public static PermsWrapper getPerms(User user)
      根据用户获取 权限串
      参数:
      user - 用户 (这里只会使用用户的唯一标识 所以其他的字段可以为空)
      返回:
      权限字符串集合
    • login

      public static String login(String username, String password, io.vertx.ext.web.RoutingContext ctx)
      登录方法
      参数:
      username - 用户名
      password - 密码
      ctx - ctx
      返回:
      json
    • loginByThirdParty

      public static String loginByThirdParty(String uniqueID, String accessToken, String accountType, io.vertx.ext.web.RoutingContext ctx)
      a
      参数:
      uniqueID - a
      accessToken - a
      accountType - a
      ctx - a
      返回:
      a
    • signupByThirdParty

      public static User signupByThirdParty(String uniqueID, String accessToken, String accountType)
      根据第三方注册一个新用户
      参数:
      uniqueID - a
      accessToken - a
      accountType - a
      返回:
      a
    • findThirdPartyLoginHandler

      public static ThirdPartyLoginHandler findThirdPartyLoginHandler(String type)
      根据名称查找第三方的 loginHandler
      参数:
      type - 类型
      返回:
      handler
    • addThirdPartyLoginHandler

      public static void addThirdPartyLoginHandler(String type, ThirdPartyLoginHandler thirdPartyLoginHandler)
      添加一个 第三方的 loginHandler
      参数:
      type - 名称
      thirdPartyLoginHandler - handler
    • alreadyLoginClientMap

      public static AlreadyLoginClientMap alreadyLoginClientMap()

      alreadyLoginClientMap.

      返回:
      a AlreadyLoginClientMap object