4              9      !" #$ %& 9' () *4 + ,67- ./0 )1 )2 )3 .4 5 678 09: 2; <= 2> <? @A @BCD :E :FG :H I J KL M NO P Q FR HS HT HUVW !4 X HY Z[ \] ^ ._ 6`a b cd ef Wg hijkl 9mn o p qr st uvw xC yz {| }~     q     0        N 9  W  s   +    T W x     W9  9     c ! 9 N N  9     H  H H    ` e : 9 9 H H   c %   c N N   N loggerLorg/slf4j/Logger;authenticationManagerCLorg/springframework/security/authentication/AuthenticationManager;RuntimeVisibleAnnotationsLjavax/annotation/Resource;jwtTokenHandler&Lcom/artfess/base/jwt/JwtTokenHandler;userDetailsServiceBLorg/springframework/security/core/userdetails/UserDetailsService; ssoConfig!Lcom/artfess/base/conf/SsoConfig;demoModeZ4Lorg/springframework/beans/factory/annotation/Value;value${system.mode.demo:false}uCFeignService'Lcom/artfess/base/feign/UCFeignService;applicationFeignService0Lcom/artfess/base/feign/ApplicationFeignService;loginLogService*Lcom/artfess/base/service/LoginLogService;loginUserService+Lcom/artfess/base/service/LoginUserService; saasConfig"Lcom/artfess/base/conf/SaaSConfig; jwtConfig!Lcom/artfess/base/conf/JwtConfig;()VCodeLineNumberTableLocalVariableTablethis:Lcom/artfess/base/controller/AuthenticationRestController;deleteUserDetailsCache(Ljava/lang/String;)V userAccountLjava/lang/String;beandelUserDetailsCache.Lcom/artfess/base/cache/annotation/CacheEvict;bpm:uc:userAccountkey #userAccountdelUsernamesCachebpm:uc:userNamecreateAuthenticationTokenZ(Lcom/artfess/base/jwt/JwtAuthenticationRequest;)Lorg/springframework/http/ResponseEntity;ce1Lcom/artfess/base/exception/CertificateException;eLjava/lang/Exception; loginTimesLjava/lang/Integer; lockStatusI lockTimesenablejson)Lcom/fasterxml/jackson/databind/JsonNode;service-Lcom/artfess/base/service/PwdStrategyService;ipallowdedipListLjava/util/List; machineIdListmachineService7Lcom/artfess/base/service/SecurityMachinePersonService;user Lcom/artfess/uc/api/model/IUser;authenticationRequest/Lcom/artfess/base/jwt/JwtAuthenticationRequest; reqAccount reqPassworderrorMsgrequest'Ljavax/servlet/http/HttpServletRequest;session Ljavax/servlet/http/HttpSession;IPisMobile userDetails;Lorg/springframework/security/core/userdetails/UserDetails;tokenuserNameaccountuserId loginStatus userAttrsLjava/util/Map;LocalVariableTypeTable$Ljava/util/List;5Ljava/util/Map; StackMapTableC)0:   Exceptions  Signature](Lcom/artfess/base/jwt/JwtAuthenticationRequest;)Lorg/springframework/http/ResponseEntity<*>;8Lorg/springframework/web/bind/annotation/RequestMapping;/authmethod7Lorg/springframework/web/bind/annotation/RequestMethod;POSTproducesapplication/json; charset=utf-8%Lio/swagger/annotations/ApiOperation; 登录系统 httpMethodnotes"RuntimeVisibleParameterAnnotations5Lorg/springframework/web/bind/annotation/RequestBody;isAdmin(Ljava/lang/String;)Z_accounttmpsplit[Ljava/lang/String;getUserNameWithCas8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;jsonNodeticket casUserDetailusername errorCode getUserNameWithOauth oauthCheckUrl checkResult checkJNodeheader tokenResultcode oauthTokenUrlstufixssoAuthy(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;Ljava/util/Optional;ssoModemode(Ljava/util/Optional; (Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/lang/String;)Lorg/springframework/http/ResponseEntity<*>; /sso/authGET登录系统-单点登录6Lorg/springframework/web/bind/annotation/RequestParam; ssoWeixin?(Ljava/util/Optional;)Lorg/springframework/http/ResponseEntity;tenantIdwxWorkId simpleUser resultJsonresult0Lcom/fasterxml/jackson/databind/node/ObjectNode;errcodeV(Ljava/util/Optional;)Lorg/springframework/http/ResponseEntity<*>; /sso/weixin.企业微信应用进入手机端-单点登录 weixinPublicnodeopenidr%Lcom/artfess/base/model/CommonResult;PLcom/artfess/base/model/CommonResult;/sso/weixinPublic微信公众号进入手机端dingTalk dingtalkId /sso/dingTalk钉钉进入手机端 accountLogindesLcom/artfess/base/util/DES;/account/login使用账号登陆isUseCasz(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/http/ResponseEntity;response(Ljavax/servlet/http/HttpServletResponse;map(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Lorg/springframework/http/ResponseEntity;>; /sso/info单点登录配置 refreshAndGetAuthenticationTokenR(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity; authTokenrefreshedTokenU(Ljavax/servlet/http/HttpServletRequest;)Lorg/springframework/http/ResponseEntity<*>;/refresh 刷新tokensignoutN(Ljavax/servlet/http/HttpServletRequest;)Lcom/artfess/base/model/CommonResult;b(Ljavax/servlet/http/HttpServletRequest;)Lcom/artfess/base/model/CommonResult;/signout 退出登录F使token的状态失效,必须设置jwt.single和jwt.stricky均为true authenticate'(Ljava/lang/String;Ljava/lang/String;)Vpassword checkUser5(Lcom/artfess/uc/api/model/IUser;Ljava/lang/String;)ZsyJ lockedTimeLjava/time/LocalDateTime;intervalMinutesLjava/lang/Long;regex currenTimesize pwdCreateTimeinitPwdpwdRule pwdLengthdurationautoUnlockTime initUpdateRhandleSingleLogin:(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V userAgent handleLogout((ZLjava/lang/String;Ljava/lang/String;)V SourceFile!AuthenticationRestController.java8Lorg/springframework/web/bind/annotation/RestController;Lio/swagger/annotations/Api;tags 认证接口&Lcom/artfess/base/annotation/ApiGroup;group group_bpm group_form group_systemgroup_uc   8com/artfess/base/controller/AuthenticationRestController %! *!   !   java/lang/Exception Login failed account[%s].java/lang/Object   !账号或密码错误 "#$ %&/com/artfess/base/exception/CertificateException ';org/springframework/security/authentication/LockedException账号被禁用或离职( )* +,- ./0 %} 1& |}+com/artfess/base/service/PwdStrategyService 23 45 67 _loginTime_ 89java/lang/Integer : ;7 <= >? @ ABjava/lang/RuntimeException !5com/artfess/base/service/SecurityMachinePersonService CD 7 EF GH IJ KLjava/lang/Stringjava/lang/StringBuilder 用户【 MN:】已绑定涉密机器,不能在当前机器上登录! O OP Q RS T UV java/util/HashMapcom/artfess/uc/api/model/IUser W X Y loginUser%s[%s]  Z [\] ^_  `! a!.com/artfess/base/jwt/JwtAuthenticationResponse b cd <e fg hi*com/artfess/base/constants/SystemConstantsadmin, j*%s/p3/serviceValidate?ticket=%s&service=%s  kl 4m no p5authenticationSuccess q} rauthenticationFailure s获取cas认证信息失败: t!获取cas认证信息失败: u&code=%s&redirect_uri=%s vw xy z{ |J } ~ 获取oauth认证信息失败 ! J!当前服务未开启单点登录   J 4Lcom/artfess/base/conf/SsoConfigcas oauth jwt 0com/artfess/base/exception/ServerRejectException单点登录模式匹配异常!通过单点认证登录成功。 !   weChatWork  !企业微信登录返回结果:  !.com/fasterxml/jackson/databind/node/ObjectNode0UserId   5 & J 查无与您企微账号[userid:]绑定的eip账号 *企业微信登录失败 ,eip用户账号:企业微信登录失败 : errmsg weChatOffAcc   J L'com/fasterxml/jackson/databind/JsonNode微信登录失败 : dingtalkuserid 5 查无与您钉钉账号[userid:钉钉登录失败!eip账号: 不存在钉钉登录失败 : com/artfess/base/util/DES 账号登录失败!账号: <ssoUrl  ssoLogoutUrl       #com/artfess/base/model/CommonResult 退出成功  Oorg/springframework/security/authentication/UsernamePasswordAuthenticationToken   |J d   +8   d d"账号在锁定状态中,请于【 M0分钟】后登录,或联系管理员解锁! 7;^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$ }j^(?=.*?[A-Za-z])(?=.*?\d)(?=.*?[~!@#$%^&*()_+`\-={}:";'<>?,.\/])[a-zA-Z\d~!@#$%^&*()_+`\-={}:";'<>?,.\/]*$s^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[~!@#$%^&*()_+`\-={}:";'<>?,.\/])[a-zA-Z\d~!@#$%^&*()_+`\-={}:";'<>?,.\/]*$    dmobilepc J } -1 7      -com/artfess/base/jwt/JwtAuthenticationRequest%javax/servlet/http/HttpServletRequestjavax/servlet/http/HttpSessionjava/util/Listjava/util/Iterator9org/springframework/security/core/userdetails/UserDetails java/util/Map9org/springframework/security/core/AuthenticationExceptionjava/io/IOExceptionjava/util/Optional.org/apache/http/client/ClientProtocolExceptionjava/time/LocalDateTimejava/lang/Long(com/artfess/base/service/LoginLogServicegetClass()Ljava/lang/Class;com/artfess/base/util/AppUtilgetBean%(Ljava/lang/Class;)Ljava/lang/Object; getUsername()Ljava/lang/String; getPasswordcom/artfess/base/util/Base64 getFromBase64&(Ljava/lang/String;)Ljava/lang/String;format9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;org/slf4j/Loggererror*(Ljava/lang/String;Ljava/lang/Throwable;)VgetCause()Ljava/lang/Throwable;com/artfess/base/util/BeanUtils isNotEmpty(Ljava/lang/Object;)Z getMessagecom/artfess/base/util/HttpUtil getRequest)()Ljavax/servlet/http/HttpServletRequest; getSession"()Ljavax/servlet/http/HttpSession;com/artfess/base/util/IPUtils getIpAddr;(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String; com/artfess/base/util/StringUtilequalsgetJsonDefault+()Lcom/fasterxml/jackson/databind/JsonNode;get=(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;asInt()I getAttribute&(Ljava/lang/String;)Ljava/lang/Object;(I)VintValuevalueOf(I)Ljava/lang/Integer; setAttribute'(Ljava/lang/String;Ljava/lang/Object;)V)com/artfess/base/service/LoginUserService lockedUser(Ljava/lang/String;I)VqueryPersonLimitByAccount$(Ljava/lang/String;)Ljava/util/List;queryMachineIps"(Ljava/util/List;)Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString*(Ljavax/servlet/http/HttpServletRequest;)Z@org/springframework/security/core/userdetails/UserDetailsServiceloadUserByUsernameO(Ljava/lang/String;)Lorg/springframework/security/core/userdetails/UserDetails;$com/artfess/base/jwt/JwtTokenHandler generateTokenO(Lorg/springframework/security/core/userdetails/UserDetails;)Ljava/lang/String; getFullname getAccount getUserId getTenantIdput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;com/artfess/base/util/MapUtil getString5(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String;removeAttributeupdateLastLoginTimecom/artfess/base/conf/JwtConfiggetExpirationLong()J(J)Ljava/lang/Long;k(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZLjava/util/Map;)V'org/springframework/http/ResponseEntityok=(Ljava/lang/Object;)Lorg/springframework/http/ResponseEntity;'(Ljava/lang/String;)[Ljava/lang/String; getCasUrl com/artfess/base/util/FluentUtilcom/artfess/base/util/XmlUtiltoJsoncom/artfess/base/util/JsonUtil toJsonNodehasasTextprintStackTraceinfogetOauthTokenUrlgetOauthBasicHeader"org/apache/http/entity/ContentTypeAPPLICATION_FORM_URLENCODED$Lorg/apache/http/entity/ContentType;postn(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Lorg/apache/http/entity/ContentType;)Ljava/lang/String;isObjectgetOauthAccesstokenKeygetOauthCheckUrlgetOauthUsernameKeyisEnableorg/springframework/util/AssertisTrue(ZLjava/lang/String;)VgetMode isPresentgetUsernameFromTokendebugj(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/util/Map;)V.com/artfess/base/feign/ApplicationFeignServicegetUserInfoUrlsendHttpsRequestJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;%com/artfess/base/feign/UCFeignServicegetUserByWxWorkIdisEmptyisNullK(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VgetUserByOpenId9(Ljava/lang/String;)Lcom/artfess/base/model/CommonResult;getState()Ljava/lang/Boolean;java/lang/Boolean booleanValuegetValuegetUserByDingtalkIddecode(Z)Ljava/lang/Boolean; getSsoUrlgetSsoLogoutUrl getHeader substring(I)Ljava/lang/String;getTenantIdFromToken refreshTokenjava/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;'(Ljava/lang/Object;Ljava/lang/Object;)VAorg/springframework/security/authentication/AuthenticationManagerf(Lorg/springframework/security/core/Authentication;)Lorg/springframework/security/core/Authentication;asLonggetLockedStatus()Ljava/lang/Integer; getLockedTime()Ljava/time/LocalDateTime;nowjava/time/ZoneOffsetof*(Ljava/lang/String;)Ljava/time/ZoneOffset; toInstant+(Ljava/time/ZoneOffset;)Ljava/time/Instant;java/time/Instant toEpochMilli longValue(J)Ljava/lang/StringBuilder;lengthmatchesgetLastLoginTimegetPwdCreateTime toLocalDate()Ljava/time/LocalDate;java/time/LocalDate toEpochDayisSingle com/artfess/base/conf/SaaSConfig getExpirationputTokenInCache](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;o(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;logremoveFromCache9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vorg/slf4j/LoggerFactory getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;!     s  /*K  !`*M,+,+l mno "# $%!5s"#& [s'(s)*!5w"#& [s+(s),-P +MN*, :+ N*,- S:Y,S:::::::*,  :!:  { "#$6  %#$6  &#$6  Q K'():  )Y*: ' +`,Y: - + *.,/0Y1*,22:,3:   4w6  5:  ? 45 6:  7" 89:   6  #0Y:Y;<=,=>=?1@6*A+B: *C D:  E: : : 6FYG: H[ H:I: J: K: LMY SY SN*-O6PQRW*PS  T'U*. VWY    *XYZ[\" F "$;?U_fnrw$.9CKUZdsv%-4=FOkt._./$N01:23 l45 `65 T75 89 :;<# vq= f>? d@? UAB4QCDEFG#H#I#wTJKKLMDN#O PQ R# S# T# U# V %WXY f>Z d@Z %W[\ "]^___`C` ]^___ab_cde*]^___ab_ U ]^___ab_fggh%$]^___ab_]^___ab_i____jklmn3o [spq[erst[suv swxssyswz{|}6^M,_`N-:662:+ #,.44# ~#66T#3# ,\]__N::aY*bcSY+SY,SdN-e:f:ghg#i#j:(khk#l#j:0Y1D:m:Y;n=-=?o0Y:Y;p=q=?1 {~ B +18BV`q {~   \ 1J8#8C9?01#:### #\+V]______d$B`@k N*br:sY+SY,S:*bt::Y;==?uv:f:gw_*bx#j: *by: :Y; = =?uv:  f:   w *bz#jN:m0Y{|- J 'FMZkt !"(%&')kKR# tB# $# 9 '#Fp#Mi901#:#S# ##\___B`7*b}~:*b:- -9:+*+9:T,*,9:1, *C+9: Y* :@6*AB: *C D:  E: : : FYG: HR H:I: J: K: LMY SY SNPQRW, *PS  TWY    *XYZ\ / 0123(697K:\;n>?AEHIKLMNOPQRSTU V&W7ZA\R]c`HCD:#s#j#JKO PQ R# S# T# U# WXY*W[\C(__""# ]___ai____jklm3o [sq[ert[suv sxsysz*+9M:Y;=,=?N,fN:q-j: -j:*: $0Y:Y;===?1#j:* :@6 *AB: *C D:  E: : : HA H:I: K: Q:LMY SYSN*  TWY   \:0Y:Y;==?10Y:Y;=-j=?17?B de "fg5h7j?mBkDlQn\ofpqr~stvy|} <FRegD 017CDJKO PQ R# wS# sU# o#g01q#~9T##7o\J#Y \}B]_`<__d ]___d_ai____(]___d_`klm3o [sq[ert[suv sxsyszTm*+9MN,fN:q--j:*::WY\#j:* :@6 *AB: *C D:  E: : : HA H:I: K: Q:LMY SYSN*  TWY   \WY\0Y:Y;=-j=?1$' !$')6?JWbl|"5=J) 017CDl9T#JKO PQ vR# mS# iU# e#J#WmmS#QYWm\s']_`R_d]__d_ai____]__klm3o [sq[ert[suv sxsysz\*+9MN,fN:q-!-j:*: $0Y:Y;===?1#j:*AB:* :@6 *CD: E: : : HAH:I: K: Q: LMY SYSN*   TWY   \0Y:Y;===?10Y:Y;=-j=?1$' ~$')6?JWg)<]) 017CDJKO vR# mS# iU# e# J#W9T#PQf#dY \']_`0_d ]__d_ia____]__d_i ]_klm3o [sq[ert[suv sxsysz ػYM,+9N*A-B:*- :@6*CD:E:: : H@H:  I: K:  Q: LMYSY+SN* -TWY- \0Y:Y;=-==?1R !).3: E N R V ^enwz e6CD 3JK:~O EsR#NjS#RfU# Vb# T #!PQY T\> ]_ia____]_iklm3o [sq[ert[suv sxsysz@FYGN-&*b}RW-*bRW-*bRW-\$%&+';(*@@JK@8XY 8[km3o [sq[ert[suv sxsysX+*X¹M,N*C-:*C-:*C-:+@6*TWY\"./01)23395E6RXXJKJ#CR#9#)/T#3%#9O m+o [sq[erv sxsysC+*X¹M,N*C-:*C-:+@6*ǻYɷʰ<=>?)@/A9BHCCJK5#.R#$#)T#/O m+o [sq[erv sxsysh+W,W*̻Y+,ιWIJ KL ##kl+  N--!:Ѷ#j:Ҷ#$6Ӷ#$6Զ#$6ն#7 ׶#$6 &#$6 ++y+: ۸ܶݶ ۸ܶݶemZ: *.+J/. e70Y:Y;==?1 ,,T: , 68: , 6: , 6 ++:  %: e63O QRSU V(X4Z@\L^X`dbpd|fghijlmqstwx{!|'}+~38:CGOTV_ckprx!n I+# 3 G# O c# k  5* 4#@v5Lj5X^5dR pF5 |:75 :; 89CD#\H c]_cd_* 1]_b|:*X/,*M*C,-*XW&::*C,-*XW*-*  (+CHOf{RHJKON#||O |#|#|R# o#\L A__" ]_____]______7*X/:,*M*C,- (+64#77O 7#7T#\A__ ! L'[s[ssss