| 程序包 | 说明 |
|---|---|
| com.baomidou.kisso |
SSO 配置,票据,辅助组件类
kisso = cookie sso,基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 单点登录系统的瑞士军刀。
|
| com.baomidou.kisso.common |
加密算法,工具类,辅助类
|
| com.baomidou.kisso.service |
| 限定符和类型 | 类和说明 |
|---|---|
class |
AuthToken
SSO 跨域信任 Token
|
class |
SSOToken
SSO登录标记Cookie基本信息对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
static <T extends Token> |
SSOHelper.attrToken(javax.servlet.http.HttpServletRequest request)
从请求中获取 token 通过登录拦截器之后使用
该数据为登录拦截器放入 request 中,防止二次解密
|
| 限定符和类型 | 方法和说明 |
|---|---|
Token |
SSOCache.get(String key)
根据key获取SSO票据
如果缓存服务宕机,返回 token 设置 flag 为 Token.FLAG_CACHE_SHUT
|
Token |
SSOConfig.getToken()
自定义 Token Class
|
static Token |
SSOHelper.getToken(javax.servlet.http.HttpServletRequest request)
获取当前请求 token
该方法直接从 cookie 中解密获取 token, 常使用在登录系统及拦截器中使用 getToken(request)
如果该请求在登录拦截器之后请使用 attrToken(request) 防止二次解密
|
Token |
Token.parseToken(String jsonToken)
JSON格式Token值转为Token对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
SSOCache.set(String key,
Token token,
int expires)
设置SSO票据
|
static void |
SSOHelper.setSSOCookie(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Token token,
boolean invalidate)
设置加密 Cookie(登录验证成功)
最后一个参数 true 销毁当前JSESSIONID.
|
void |
SSOConfig.setToken(Token token) |
| 限定符和类型 | 方法和说明 |
|---|---|
static Token |
SSOReflectHelper.getConfigToken(String tokenClass)
反射获取自定义Token
|
| 限定符和类型 | 方法和说明 |
|---|---|
<T extends Token> |
KissoServiceSupport.attrToken(javax.servlet.http.HttpServletRequest request)
获取当前请求 Token
此属性在过滤器拦截器中设置,业务系统中调用有效
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected Token |
KissoServiceSupport.checkIp(javax.servlet.http.HttpServletRequest request,
Token token)
校验Token IP 与登录 IP 是否一致
|
Token |
KissoService.getToken(javax.servlet.http.HttpServletRequest request)
获取登录 Token
登录
|
Token |
AbstractKissoService.getToken(javax.servlet.http.HttpServletRequest request)
获取当前请求 Token
从 Cookie 解密 token 使用场景,拦截器,非拦截器建议使用 attrToken 减少二次解密
|
protected Token |
KissoServiceSupport.getToken(javax.servlet.http.HttpServletRequest request,
SSOEncrypt encrypt,
SSOCache cache)
获取当前请求 Token
|
protected Token |
KissoServiceSupport.getToken(javax.servlet.http.HttpServletRequest request,
SSOEncrypt encrypt,
String cookieName)
获取当前请求 Token
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AbstractKissoService.authSSOCookie(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Token token)
当前访问域下设置登录Cookie 设置防止伪造SESSIONID攻击
|
protected Token |
KissoServiceSupport.checkIp(javax.servlet.http.HttpServletRequest request,
Token token)
校验Token IP 与登录 IP 是否一致
|
protected String |
KissoServiceSupport.encryptCookie(javax.servlet.http.HttpServletRequest request,
Token token,
SSOEncrypt encrypt)
加密Token信息
|
void |
KissoService.setSSOCookie(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Token token)
设置登录 Cookie
登录
|
void |
AbstractKissoService.setSSOCookie(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Token token)
当前访问域下设置登录Cookie
request.setAttribute(SSOConfig.SSO_COOKIE_MAXAGE, -1);
可以设置 Cookie 超时时间 ,默认读取配置文件数据 。
|
protected void |
KissoServiceSupport.setSSOCookie(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Token token,
SSOEncrypt encrypt)
当前访问域下设置登录Cookie
|
String |
KissoServiceSupport.tokenCacheKey(javax.servlet.http.HttpServletRequest request,
Token token)
Token 缓存主键
1、自动设置
2、拦截器 request 中获取
3、解密 Cookie 获取
|
Copyright © 2016. All rights reserved.