yxh
10 天以前 9df73858bc61e0e268113f5f79a8934e970a4f74
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
64
65
66
Êþº¾4c£
¦§
¨©ª K«¬
­    ®
¯°±²
¦³
´
¯¶
·¸
¹
º»
¤ ¼½
¿
ÀÁ
Âà   ÂÄÅ
¤Æ
ÈÉÊ
ÍΠ   Ï
ÀÐ
Ñ
Ò    Óê`
Ô    ÕÖ
¯×
ØÙÚ ÛÜ
ÝÞ
ßà
á
âã
ä
Ýå
æç
è
Ýé
êç
ë
ìí îï    ðñ    ò îó îô
ìõ ö÷ öø ùúû Kü    ýþ
    ÿ
    O€headerLjava/lang/String;RuntimeVisibleAnnotations4Lorg/springframework/beans/factory/annotation/Value;value${token.header}secret${token.secret}
expireTimeI${token.expireTime} MILLIS_SECONDJ ConstantValueè MILLIS_MINUTEMILLIS_MINUTE_TENLjava/lang/Long;
redisCache(Lcom/ruoyi/common/core/redis/RedisCache;8Lorg/springframework/beans/factory/annotation/Autowired;<init>()VCodeLineNumberTableLocalVariableTablethis.Lcom/ruoyi/framework/web/service/TokenService; getLoginUserW(Ljavax/servlet/http/HttpServletRequest;)Lcom/ruoyi/common/core/domain/model/LoginUser;claimsLio/jsonwebtoken/Claims;uuiduserKeyuser.Lcom/ruoyi/common/core/domain/model/LoginUser;request'Ljavax/servlet/http/HttpServletRequest;token StackMapTable£¬² setLoginUser1(Lcom/ruoyi/common/core/domain/model/LoginUser;)V    loginUser delLoginUser(Ljava/lang/String;)V createTokenB(Lcom/ruoyi/common/core/domain/model/LoginUser;)Ljava/lang/String;Ljava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; verifyToken currentTime refreshToken setUserAgent    userAgent'Leu/bitwalker/useragentutils/UserAgent;ip#(Ljava/util/Map;)Ljava/lang/String;    SignatureI(Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/lang/String;
parseToken,(Ljava/lang/String;)Lio/jsonwebtoken/Claims;getUsernameFromToken&(Ljava/lang/String;)Ljava/lang/String;getToken;(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String; getTokenKey<clinit>
SourceFileTokenService.java*Lorg/springframework/stereotype/Component;,com/ruoyi/framework/web/service/TokenService mn œ  ˜™#com/ruoyi/common/constant/Constantslogin_user_key     
java/lang/String ž› jk   ,com/ruoyi/common/core/domain/model/LoginUserjava/lang/Exception  œ …   ˆ ‘…java/util/HashMap  ‰•     java/lang/StringBuilder令牌有效期为: !" !#    java/util/Date !$ %& 'ˆ hi () *+ , _` -+. /0 123 45
User-Agent 6›7 89: ; <ˆ= >› ?ˆ @AB C Dˆ EFG HˆI JKL MNO PQ ]X RS T UVW XY Z[\ ]^io/jsonwebtoken/Claims _ WXBearer  ` ab(com/ruoyi/common/constant/CacheConstants login_tokens:java/lang/Object%javax/servlet/http/HttpServletRequest"com/ruoyi/common/utils/StringUtils
isNotEmpty(Ljava/lang/String;)Zget&(Ljava/lang/Object;)Ljava/lang/Object;&com/ruoyi/common/core/redis/RedisCachegetCacheObject&(Ljava/lang/String;)Ljava/lang/Object;    isNotNull(Ljava/lang/Object;)Z()Ljava/lang/String; deleteObject#com/ruoyi/common/utils/uuid/IdUtilsfastUUIDsetToken java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; getExpireTime()Ljava/lang/Long;java/lang/Long    longValue()Jjava/lang/SystemcurrentTimeMillisoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(J)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toStringjava/io/PrintStreamprintlnvalueOf(J)Ljava/lang/Long; setLoginTime(Ljava/lang/Long;)V getLoginTime setExpireTimejava/util/concurrent/TimeUnitMINUTESLjava/util/concurrent/TimeUnit;setCacheObjectG(Ljava/lang/String;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)V#com/ruoyi/common/utils/ServletUtils
getRequest)()Ljavax/servlet/http/HttpServletRequest;    getHeader%eu/bitwalker/useragentutils/UserAgentparseUserAgentString;(Ljava/lang/String;)Leu/bitwalker/useragentutils/UserAgent;!com/ruoyi/common/utils/ip/IpUtils    getIpAddr    setIpaddr&com/ruoyi/common/utils/ip/AddressUtilsgetRealAddressByIPsetLoginLocation
getBrowser'()Leu/bitwalker/useragentutils/Browser;#eu/bitwalker/useragentutils/BrowsergetName
setBrowsergetOperatingSystem/()Leu/bitwalker/useragentutils/OperatingSystem;+eu/bitwalker/useragentutils/OperatingSystemsetOsio/jsonwebtoken/Jwtsbuilder()Lio/jsonwebtoken/JwtBuilder;io/jsonwebtoken/JwtBuilder    setClaims-(Ljava/util/Map;)Lio/jsonwebtoken/JwtBuilder;"io/jsonwebtoken/SignatureAlgorithmHS512$Lio/jsonwebtoken/SignatureAlgorithm;signWithT(Lio/jsonwebtoken/SignatureAlgorithm;Ljava/lang/String;)Lio/jsonwebtoken/JwtBuilder;compactparser()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
startsWithreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;!VWXY Z[s\]XY Z[s^_`Y Z[sabcdegcd.hijkYlmno/*·±p!q rstuoæ<*+·M,¸™0*,·N-¹À    :*·
:*´ ¶ À :°N° 89p&    >? AC D(E6F9G:JqH&vw xX(yX6z{<rs<|}6~Xÿ9€‚ƒ„…o\+¸™+¶¸™*+¶±pQRTqrs†{‡ˆoj+¸™*+·
M*´ ,¶W±pZ[ \^q      yXrs~X‰Šo+¸M+,¶*+¶*+¶»Y·N-,¹W*-·°pgh    ijlm%nq*+rs+†{'~Xv‹Œ vŽ…oµL+¶¶A¸7²»Y· ¶! e¶"#¶!»$Y·%¶&¶'¶( e²)¶”*+¶±pxy z8{F|K~q*LrsL†{D_c ?cýK…o‹=+¸¸*¶+++¶,¶*´-….ia¸*¶0*+¶·
M*´ ,+*´-…²1¶2±p†
‡"‰+Š<‹q =rs=†{+yX‘…o™9¸34¹5¸6M¸3¸7N+-¶8+-¸9¶:+,¶;¶<¶=+,¶>¶?¶@±p“”•–"—-˜8™q*9rs9†{+’“$”X‰•oq¸A+¹B²C*´D¹E¹FM,°p
¢£q rsv‹~XŒ v–—˜™oO¸G*´D¹H+¹I¹JÀK°p­qrs~Xš›oO *+·M,¹L°p
·¸q  rs ~Xvwœo~&+*´M¹5M,¸™,N¶O™ ,NP¶QM,°p ÃÄ$Æq &rs&|} ~Xü$‚ž›oH»Y·S¶!+¶!¶'°pÊqrsxXŸno"
T¸*³)±p2 ¡Y¢