mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-06-28 13:34:18 +08:00
1.7 KiB
1.7 KiB
登录验证
核心思想
- 所谓登录验证,说白了就是限制某些接口只有登录后才能访问(如:查询我的账号资料)
- 如何判断你有没有登录?当然是登录成功后我给你做个标记
- 在需要鉴权的接口里检查标记,有标记者视为已登录,无标记者视为未登录
- 根据以上思路,我们很容易想到以下api:
具体API
StpUtil.setLoginId(Object loginId)
- 标记当前会话登录的账号id
- 建议的参数类型:
long | int | String
, 不可以传入复杂类型,如:User
、Admin
等等
StpUtil.logout()
- 当前会话注销登录
StpUtil.isLogin()
- 获取当前会话是否已经登录,返回true=已登录,false=未登录
StpUtil.checkLogin()
- 检验当前会话是否已经登录, 如果未登录,则抛出异常:
NotLoginException
- 扩展:
NotLoginException
对象可通过getLoginKey()
方法获取具体是哪个StpLogic
抛出的异常
StpUtil.getLoginId()
- 获取当前会话登录id, 如果未登录,则抛出异常:
NotLoginException
- 类似API还有:
StpUtil.getLoginIdAsString()
获取当前会话登录id, 并转化为String
类型StpUtil.getLoginIdAsInt()
获取当前会话登录id, 并转化为int
类型StpUtil.getLoginIdAsLong()
获取当前会话登录id, 并转化为long
类型
StpUtil.getLoginId(T defaultValue)
- 获取当前会话登录id, 如果未登录,则返回默认值 (
defaultValue
可以为任意类型) - 类似API还有:
StpUtil.getLoginId_defaultNull()
获取当前会话登录id, 如果未登录,则返回null
getLoginIdByToken(String tokenValue)
- 获取指定token对应的登录id,如果未登录,则返回 null