package Ġcom . will . framework . interceptor Ċ Ċ import Ġcom . alibaba . fastjson . JSON Ċ import Ġcom . alibaba . fastjson . serializer . Serializer Feature Ċ import Ġcom . will . constant . Constant Ċ import Ġcom . will . constant . Controller Code Ċ import Ġcom . will . framework . controller . Result Ċ import Ġcom . will . framework . entity . Login Lock Ċ import Ġcom . will . framework . service . Login Lock Service Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . web . servlet . handler . Handler Interceptor Adapter Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . servlet . http . HttpServletResponse Ċ import Ġjavax . servlet . http . Http Session Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġzo um y Ġon Ġ 2 0 1 7 / 5 / 1 1 Ġ 1 0 : 3 6 . Ċ Ġ*/ Ċ class ĠLogin Interceptor Ġ: Handler Interceptor Adapter (){ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġvar Ġlogin Lock Service : Login Lock Service ? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġlog : Logger Ġ= ĠLoggerFactory . getLogger ( Login Interceptor :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġpre Handle ( request : ĠHttpServletRequest ?, Ġresponse : ĠHttpServletResponse ?, Ġhandler : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġrequest !!. session ĊĠĠĠĠĠĠĠ Ġval Ġcode Ġ= Ġrequest . getParameter ( Constant . VERIFY _ CODE )// èİ·åıĸ éªĮè¯ģçłģ ĊĠĠĠĠĠĠĠ Ġval ĠuserName Ġ= Ġrequest . getParameter ( Constant . USER _ NAME ) ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( check Verify Code ( session , Ġcode )) Ġ{// æł¡éªĮ éªĮè¯ģçłģ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġll Ġ= Ġlogin Lock Service !!. get Login Lock By Login Name ( userName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Locked ( ll )) Ġ{// çĶ¨æĪ· æĺ¯åĲ¦ è¢« éĶģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠJSON . toJSON String ( Result ( Controller Code . USER _ LOCK ED , Ġll . lock Time !! ), ĠSerializer Feature . Write Enum Using ToString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. writer . print ( str ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= ĠJSON . toJSON String ( Result ( Controller Code . INVALID _ VERIFY _ CODE ), ĠSerializer Feature . Write Enum Using ToString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse !!. writer . print ( str ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Verify Code ( session : Http Session , code : String ): Boolean { ĊĠĠĠĠĠĠĠ Ġval Ġverify Code Ġ= Ġsession . getAttribute ( Constant . VERIFY _ CODE ) Ġas ĠString ĊĠĠĠĠĠĠĠ Ġlog . debug (" verify Code , code : {}, {}", Ġverify Code , Ġcode ) ĊĠĠĠĠĠĠĠ Ġreturn Ġverify Code . equals ( code , Ġignore Case Ġ= Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Locked ( login Lock : ĠLogin Lock ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlogin Lock . login Count !! Ġ>= Ġ 5 Ġ&& Ġlogin Lock . lock Time !! Ġ> ĠSystem . currentTimeMillis () ĊĠĠĠ Ġ} Ċ }