From 3bf428400b3bd2a43517561e3dd1218bbb953ab3 Mon Sep 17 00:00:00 2001 From: "wei.zhang2" Date: Fri, 29 Dec 2017 15:20:00 +0800 Subject: [PATCH] 1 --- doc/框架及配置.docx | Bin 881331 -> 893852 bytes .../security/server/service/TokenService.java | 2 +- .../server/service/impl/TokenServiceImpl.java | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/框架及配置.docx b/doc/框架及配置.docx index 4e8ba32e5a246a8628fea8f1af533d08f8d0ec0b..9fa3bb74ef7db0cdf5bdf3b9938ab7153a67c30f 100644 GIT binary patch delta 45477 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νMZkX*y_zke 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 uC6$NUR%>6q5tM0T6+;Jr&4vbNW9+S7vhn delta 32977 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 Z+(SVc8Z;2Vz}|zxEdm%=zR6p6{y*c?16cq7 diff --git a/src/main/java/com/boot/security/server/service/TokenService.java b/src/main/java/com/boot/security/server/service/TokenService.java index 9c68e39..4d44b11 100644 --- a/src/main/java/com/boot/security/server/service/TokenService.java +++ b/src/main/java/com/boot/security/server/service/TokenService.java @@ -7,7 +7,7 @@ import com.boot.security.server.dto.Token; * Token管理器
* 可存储到redis或者数据库
* 具体可看实现类
- * 默认基于redis,实现类为 com.boot.security.server.service.impl.TokenServiceImpl
+ * 默认基于redis,实现类为 com.boot.security.server.service.impl.TokenServiceJWTImpl
* 如要换成数据库存储,将TokenServiceImpl类上的注解@Primary挪到com.boot.security.server.service.impl.TokenServiceDbImpl * * diff --git a/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java b/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java index 089d63f..d75d1fd 100644 --- a/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java +++ b/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java @@ -20,6 +20,7 @@ import com.boot.security.server.service.TokenService; * @author 小威老师 * */ +@Deprecated @Service public class TokenServiceImpl implements TokenService {