4            9           9   0 ! "23# $%& )' )( )) $* + ,-. 0/0 21 23 24 25 67 689: :; :<= :> ? @ AB C DE FG FH HI HJ HKLM * N HO PQ RS T $U ,VW X YZ [\ W] ^_`ab 9cd e f gh ij klm n? op qr  st  uv w xy gz { | } ~ 0        D /   W  o    !    P W n     W/     Y  9 D D  /     H  H H    ` [ : 9 9 H H   Y    Y D D   D 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; StackMapTable9&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 errorCodegetUserNameWithOauth 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钉钉进入手机端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 initUpdateHhandleSingleLogin:(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账号被禁用或离职   !"# y $ xy+com/artfess/base/service/PwdStrategyService %& '( )* _loginTime_ +,java/lang/Integer - .* /0 12 3 45java/lang/RuntimeException 5com/artfess/base/service/SecurityMachinePersonService 67 * 89 :; <= >?java/lang/Stringjava/lang/StringBuilder 用户【 @A:】已绑定涉密机器,不能在当前机器上登录! B KC D EF G HIjava/util/HashMapcom/artfess/uc/api/model/IUser J K L  loginUser%s[%s]  M  NOP QR  S T.com/artfess/base/jwt/JwtAuthenticationResponse U VW /X YZ [\*com/artfess/base/constants/SystemConstantsadmin, |]*%s/p3/serviceValidate?ticket=%s&service=%s  ^ _ '` ab c(authenticationSuccess dy e authenticationFailure f获取cas认证信息失败: g获取cas认证信息失败: h &code=%s&redirect_uri=%s i j kl mn o= p q r 获取oauth认证信息失败  s=!当前服务未开启单点登录t uv w  x= '?com/artfess/base/conf/SsoConfigcas oauth jwt y0com/artfess/base/exception/ServerRejectException单点登录模式匹配异常!通过单点认证登录成功。 z {    weChatWork| } ~!企业微信登录返回结果: .com/fasterxml/jackson/databind/node/ObjectNode0UserId    (  = 查无与您企微账号[userid:]绑定的eip账号 *企业微信登录失败 ,eip用户账号:企业微信登录失败 : errmsg weChatOffAcc   = ?'com/fasterxml/jackson/databind/JsonNode微信登录失败 : dingtalkuserid ( 查无与您钉钉账号[userid:钉钉登录失败!eip账号: 不存在钉钉登录失败 : /ssoUrl   ssoLogoutUrl       #com/artfess/base/model/CommonResult 退出成功  Oorg/springframework/security/authentication/UsernamePasswordAuthenticationToken   x= W   +8   W W"账号在锁定状态中,请于【 @0分钟】后登录,或联系管理员解锁! *;^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$ yj^(?=.*?[A-Za-z])(?=.*?\d)(?=.*?[~!@#$%^&*()_+`\-={}:";'<>?,.\/])[a-zA-Z\d~!@#$%^&*()_+`\-={}:";'<>?,.\/]*$s^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[~!@#$%^&*()_+`\-={}:";'<>?,.\/])[a-zA-Z\d~!@#$%^&*()_+`\-={}:";'<>?,.\/]*$    Wmobilepc = y -1 *       -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 booleanValuegetValuegetUserByDingtalkId(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     /*I `*M,+,+j klm   !5q"[s#$s%&5u"[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._*+$N,-:./ l01 `21 T31 45 678 vq9 f:; d<; U=>4Q?@ABCDEwTFGKHIDJKLM N O P Q R%STU f:V d<V %SWX "YZ[[[\C\ YZ[[[]^[_`a*YZ[[[]^[ U YZ[[[]^[bccd%$YZ[[[]^[YZ[[[]^[e[[[[fghij3k[slm[enop[sqrsstsoussvwxy6^M,_`N-:662:+ #,.44# z66P3{ ,|}XY[[~~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{ ~    \ 1J48C5?,-6 X+VY[[[[[[`$B\@g N*br:sY+SY,S:*bt::Y;==?uv:f:gw_*bx#j: *by: :Y; = =?uv:  f:   w *bz#jN:m0Y{|- J 'FMZkt &#$%'kKN tB $ 5 'FpMi5,-6O X[[[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\ - ./01(495K8\9n<=?CFGIJKLMNOPQRS T&U7XAZR[c^H?@6sjFGKLM N O P Q STU*SWXC([[""# Y[[[]e[[[[fghi3k[sm[enp[sqrstsusv*+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 "de5f7h?kBiDjQl\mfnqp~qrtwz{}~ <FRegD ,-7?@FGK LM N wO sQ og,-q~5P7o\JU X}BY[\<[[` Y[[[`[]e[[[[(Y[[[`[\ghi3k[sm[enp[sqrstsusvTm*+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) ,-7?@l5PFGK LM vN mO iQ eJWmmSQUWmXs'Y[\R[`Y[[`[]e[[[[Y[[ghi3k[sm[enp[sqrstsusv\*+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)<]) ,-7?@FGK vN mO iQ e JW5PLMfdU X'Y[\0[` Y[[`[e][[[[Y[[`[e Y[ghi3k[sm[enp[sqrstsusv@FYGN-&*b}RW-*bRW-*bRW-\+;*@@FG@8TU 8Wgi3k[sm[enp[sqrstsusX+*XM,N*C-:*C-:*C-:+@6*TWY\"    )39ERXXFGJCN9)/P3%9Ki+k[sm[enrstsusC+*XM,N*C-:*C-:+@6*ûYŷư)/9HCCFG5.N$)P/Ki+k[sm[enrstsush+W,W*ȻY+,ʹW%& '( gh+  N--!:Ͷ#j:ζ#$6϶#$6ж#$6Ѷ#7 Ӷ#$6 &#$6 ++y+: ׸ضٶ ׸ضٶemZ: *.+J/. e70Y:Y;޶==?1 ,,T: , 68: , 6: , 6 ++:  %: e63+ -./1 2(446@8L:X<d>p@|BCDEFHIMOPSTW!X'Y+Z3[8\:^C_G`OaTbVd_ecfkgphrnxopuvwxyz!n I+ 3G Oc k 1* 4@v1Lj1X^1dR pF1 |:31 67 45?@XH _Y[_`[* 1Y[b|:*X/,*M*C,-*XW&::*C,-*XW*-*  (+CHOf{RHFGOJ||K|||N oXL A[[" Y[[[[[Y[[[[[[7*X/:,*M*C,- (+6477K77PXA[[ ! J'[s[ssss