类 ScxAuth
java.lang.Object
cool.scx.ext.organization.auth.ScxAuth
提供基本的认证逻辑
todo 这里的用户登录信息应该做一个缓存 防止多次从数据库中读取
- 版本:
- 1.1.4
- 作者:
- scx567888
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static voidaddThirdPartyLoginHandler(String type, ThirdPartyLoginHandler thirdPartyLoginHandler) 添加一个 第三方的 loginHandlerstatic AlreadyLoginClient[]alreadyLoginClients.static AlreadyLoginClientMapalreadyLoginClientMap.static ThirdPartyLoginHandler根据名称查找第三方的 loginHandlerstatic AlreadyLoginClientastatic User获取登录用户static UsergetLoginUser(io.vertx.ext.web.RoutingContext ctx) 根据唯一标识 获取 用户static UsergetLoginUserByToken(String token) 根据 token 获取用户static PermsWrappergetPerms()简单封装方便使用static PermsWrapper根据用户获取 权限串static voidinitAuth()初始化 auth 模块static String登录方法static StringloginByThirdParty(String uniqueID, String accessToken, String accountType, io.vertx.ext.web.RoutingContext ctx) astatic void从文件中读取 LoginItemstatic UsersignupByThirdParty(String uniqueID, String accessToken, String accountType) 根据第三方注册一个新用户static void写入 LoginItem 到文件中
-
构造器详细资料
-
ScxAuth
public ScxAuth()
-
-
方法详细资料
-
initAuth
public static void initAuth()初始化 auth 模块 -
getLoginUser
获取登录用户- 返回:
- r
-
getPerms
简单封装方便使用- 返回:
- s
-
readSessionFromFile
public static void readSessionFromFile()从文件中读取 LoginItem -
writeSessionToFile
public static void writeSessionToFile()写入 LoginItem 到文件中 -
getLoginUser
根据唯一标识 获取 用户这里并没有将用户直接存储到 session 中
而是通过此接口进行查找是为了保证用户信息修改后回显的及时性
- 参数:
ctx- c- 返回:
- 用户
-
getLoginUserByToken
根据 token 获取用户 -
getAlreadyLoginClient
a- 返回:
- a
-
allAlreadyLoginClients
alreadyLoginClients.
- 返回:
- a
Listobject
-
getPerms
根据用户获取 权限串- 参数:
user- 用户 (这里只会使用用户的唯一标识 所以其他的字段可以为空)- 返回:
- 权限字符串集合
-
login
登录方法- 参数:
username- 用户名password- 密码ctx- ctx- 返回:
- json
-
loginByThirdParty
public static String loginByThirdParty(String uniqueID, String accessToken, String accountType, io.vertx.ext.web.RoutingContext ctx) a- 参数:
uniqueID- aaccessToken- aaccountType- actx- a- 返回:
- a
-
signupByThirdParty
根据第三方注册一个新用户- 参数:
uniqueID- aaccessToken- aaccountType- a- 返回:
- a
-
findThirdPartyLoginHandler
根据名称查找第三方的 loginHandler- 参数:
type- 类型- 返回:
- handler
-
addThirdPartyLoginHandler
public static void addThirdPartyLoginHandler(String type, ThirdPartyLoginHandler thirdPartyLoginHandler) 添加一个 第三方的 loginHandler- 参数:
type- 名称thirdPartyLoginHandler- handler
-
alreadyLoginClientMap
alreadyLoginClientMap.
- 返回:
- a
AlreadyLoginClientMapobject
-