zxl
2025-11-12 b03f7d2ce966f0b2f4d80f15498893023d42f3a8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Êþº¾=i*com/ycl/framework/web/service/TokenService
 java/lang/Object<init>()V
 
getToken;(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
  com/ycl/common/utils/StringUtils
isNotEmpty(Ljava/lang/String;)Z
 
parseToken,(Ljava/lang/String;)Lio/jsonwebtoken/Claims;!com/ycl/common/constant/Constantslogin_user_key   io/jsonwebtoken/Claimsget&(Ljava/lang/Object;)Ljava/lang/Object;"java/lang/String
$ %& getTokenKey&(Ljava/lang/String;)Ljava/lang/String;    ( )*
redisCache&Lcom/ycl/common/core/redis/RedisCache;
,-. /0$com/ycl/common/core/redis/RedisCachegetCacheObject&(Ljava/lang/String;)Ljava/lang/Object;2*com/ycl/common/core/domain/model/LoginUser4java/lang/Exception    6 78logLorg/slf4j/Logger;:获取用户信息异常'{}'
3< =>
getMessage()Ljava/lang/String; @AB CDorg/slf4j/Loggererror'(Ljava/lang/String;Ljava/lang/Object;)V
F GH    isNotNull(Ljava/lang/Object;)Z
1J >
L MN refreshToken/(Lcom/ycl/common/core/domain/model/LoginUser;)V
,P Q deleteObject
STU V>!com/ycl/common/utils/uuid/IdUtilsfastUUID
1X YZsetToken(Ljava/lang/String;)V
\ ]N setUserAgent_java/util/HashMap
^ bcd ef java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
h ij createToken#(Ljava/util/Map;)Ljava/lang/String;
1l mn getExpireTime()Ljava/lang/Long;
pqr stjava/lang/Long    longValue()J
vwx ytjava/lang/SystemcurrentTimeMillis    { |}MILLIS_MINUTE_TENLjava/lang/Long;
p €valueOf(J)Ljava/lang/Long;
1ƒ „… setLoginTime(Ljava/lang/Long;)V
1‡ ˆn getLoginTime    Š ‹Œ
expireTimeIê`
1 ‘… setExpireTime
“”• €–java/lang/Integer(I)Ljava/lang/Integer;    ˜™š ›œjava/util/concurrent/TimeUnitMINUTESLjava/util/concurrent/TimeUnit;
,ž Ÿ setCacheObjectY(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Integer;Ljava/util/concurrent/TimeUnit;)V
¢£¤ ¥¦!com/ycl/common/utils/ServletUtils
getRequest)()Ljavax/servlet/http/HttpServletRequest;¨
User-Agent ª«¬ ­&%javax/servlet/http/HttpServletRequest    getHeader
¯°± ²³%eu/bitwalker/useragentutils/UserAgentparseUserAgentString;(Ljava/lang/String;)Leu/bitwalker/useragentutils/UserAgent;
µ¶· ¸>com/ycl/common/utils/ip/IpUtils    getIpAddr
1º »Z    setIpaddr
½¾¿ À&$com/ycl/common/utils/ip/AddressUtilsgetRealAddressByIP
1Â ÃZsetLoginLocation
¯Å ÆÇ
getBrowser'()Leu/bitwalker/useragentutils/Browser;
ÉÊË Ì>#eu/bitwalker/useragentutils/BrowsergetName
1Î ÏZ
setBrowser
¯Ñ ÒÓgetOperatingSystem/()Leu/bitwalker/useragentutils/OperatingSystem;
ÕÊÖ+eu/bitwalker/useragentutils/OperatingSystem
1Ø ÙZsetOs
ÛÜÝ Þßio/jsonwebtoken/Jwtsbuilder()Lio/jsonwebtoken/JwtBuilder; áâã äåio/jsonwebtoken/JwtBuilder    setClaims-(Ljava/util/Map;)Lio/jsonwebtoken/JwtBuilder;    çèé êë"io/jsonwebtoken/SignatureAlgorithmHS512$Lio/jsonwebtoken/SignatureAlgorithm;    í îïsecretLjava/lang/String; áñ òósignWithT(Lio/jsonwebtoken/SignatureAlgorithm;Ljava/lang/String;)Lio/jsonwebtoken/JwtBuilder; áõ ö>compact
Ûø ùúparser()Lio/jsonwebtoken/JwtParser; üýþ ÿio/jsonwebtoken/JwtParser setSigningKey/(Ljava/lang/String;)Lio/jsonwebtoken/JwtParser; ü parseClaimsJws)(Ljava/lang/String;)Lio/jsonwebtoken/Jws;      
io/jsonwebtoken/JwsgetBody()Ljava/lang/Object;   >
getSubject     ïheaderBearer 
! 
startsWith
! replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; &makeConcatWithConstants
 !" #$org/slf4j/LoggerFactory    getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;O€RuntimeVisibleAnnotations4Lorg/springframework/beans/factory/annotation/Value;value${token.header}${token.secret}${token.expireTime} MILLIS_SECONDJ ConstantValueè MILLIS_MINUTE8Lorg/springframework/beans/factory/annotation/Autowired;CodeLineNumberTableLocalVariableTablethis,Lcom/ycl/framework/web/service/TokenService; getLoginUserU(Ljavax/servlet/http/HttpServletRequest;)Lcom/ycl/common/core/domain/model/LoginUser;claimsLio/jsonwebtoken/Claims;uuiduserKeyuser,Lcom/ycl/common/core/domain/model/LoginUser;eLjava/lang/Exception;request'Ljavax/servlet/http/HttpServletRequest;token StackMapTable setLoginUser    loginUser delLoginUser@(Lcom/ycl/common/core/domain/model/LoginUser;)Ljava/lang/String;Ljava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; verifyToken currentTime    userAgent'Leu/bitwalker/useragentutils/UserAgent;ip    SignatureI(Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/lang/String;getUsernameFromToken<clinit>
SourceFileTokenService.java*Lorg/springframework/stereotype/Component;BootstrapMethods\
]^_ `$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;blogin_tokens: InnerClassese%java/lang/invoke/MethodHandles$Lookupgjava/lang/invoke/MethodHandlesLookup!78ï' ()s*îï' ()s+‹Œ' ()s,-./02./|})*'34/*·±5 6 789:4J*+¶    M,¸ ™>*,¶N-¹À!:*¶#:*´'¶+À1:°N²59-¶;¹?° 8935*
AB FH I(J6K9M:OHR6R&;< =ï(>ï6?@:ABJ78JCDDEïFÿ9ª!3GN4\+¸E™+¶I¸ ™*+¶K±5Z\^678H@FIZ4j+¸ ™*+¶#M*´',¶OW±5eg hj6      >ï78EïFiJ4+¸RM+,¶W*+¶[*+¶K»^Y·`N-,¹aW*-¶g°5tu    vwyz%{6*+78+H@'Eï;KL ;MNN4†!+¶k¶oA¸u7 e²z¶o”*+¶K±5†‡ ˆŠ Œ6*!78!H@‹. O.Fý MN4?+¸u¸~¶‚++¶†¶o*´‰…ia¸~¶*+¶I¶#M*´',+*´‰¸’²—¶±5•
–"˜+™>š6 ?78?H@+>ï]N4–6¸¡§¹©¸®M¸´N+-¶¹+-¸¼¶Á+,¶Ä¶È¶Í+,¶Ð¶Ô¶×±5£¤¥¦§*¨5©6*6786H@(PQ$Rïij4y¸Ú+¹à²æ*´ì¹ð¹ôM,°5³´µ¶6 78;KEïL ;MST4_¸÷*´ì¹û+¹¹À°5Á ÃÄÁ678EïU&4O *+¶M,¹ °5
ÏÐ6  78 Eï;< 4)+*´¹©M,¸ ™,¶™,¶M,°5Û ÜÞ'à6 )78)CD EïFü'!%&4;+º°5å678=ïV4.¸³5%¸~³z±5
"4WX'YZ[ac
dfh