# 更新日志

中央仓库:https://search.maven.org/

阿里云仓库:https://maven.aliyun.com/mvn/search

Maven镜像仓库:https://mvnrepository.com/artifact/com.starmcc

# 1.1.0-RELEASE

# 版本日志

增加对重发token机制的拓展方法verifyRestartToken,可以根据token设置的有效期和token的签发时间自行定制重发机制。 后期可能会有相应的补丁增加参数。

# Maven依赖

<dependency>
    <groupId>com.starmcc</groupId>
    <artifactId>qm-security</artifactId>
    <version>1.1.0-RELEASE</version>
</dependency>
1
2
3
4
5

# 1.0.3-RELEASE

# 版本日志

优化拦截器逻辑,增加对路径404的判断拦截。

# Maven依赖

<dependency>
    <groupId>com.starmcc</groupId>
    <artifactId>qm-security</artifactId>
    <version>1.0.3-RELEASE</version>
</dependency>
1
2
3
4
5

# 1.0.2

# 版本日志

优化token过期和重新签发逻辑,该逻辑目前改为当请求时,首先校验token是否已经过期,过期将拦截,并回调noPassCallBack 返回type值为5,如果未过期则校验当前时间 是否大于 (token 签发时间 + 失效时长 / 2),如果大于则重新签发。

过去的版本中,token只要过期,无论过期多久都会进行重新签发token,这样带来的安全问题得以重视,并在该版本中解决。

请不要设置token时效性过久,除非需要永久登录。建议设置为半小时,这样当用户在15分钟后继续操作,内部会自动重新签发新的token,当用户15分钟后再也没有进行任何操作就不会触发重新签发token,那么用户携带的token就将永久过期。

如果防止token被盗用?下面给出几个建议方案。

web 网页端

建议使用中间件记录请求用户的ip,可以在登录时记录请求的ip,然后在realm中的authorizationUserInfo进行这些判断,因为我们还提供了request,你可以轻而易举的获取到网页端请求的ip。

移动APP端

由于移动端的特殊,鉴于移动APP端会使用WIFI和移动网频繁切换,总不能当用户切换网络环境后又进行一次重新登录吧?所以不能使用ip这种方式进行验证。

建议使用手机的序列号、机器码等作为依据,在登录时封装在token当中,每次请求在realm中的authorizationUserInfo中校验这些唯一的值是否相等,如果不相等则表示该token被盗用了,拒绝访问。

# Maven依赖

<dependency>
    <groupId>com.starmcc</groupId>
    <artifactId>qm-security</artifactId>
    <version>1.0.2</version>
</dependency>
1
2
3
4
5
最近更新: 2021/10/12 下午5:44:25