package Ġno . nav . cv . e ures . e ures Ċ Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġorg . springframework . web . filter . Once Per Request Filter Ċ import Ġorg . springframework . web . method . Handler Method Ċ import Ġorg . springframework . web . servlet . Handler Adapter Ċ import Ġorg . springframework . web . servlet . Handler Interceptor Ċ import Ġorg . springframework . web . servlet . resource . Resource HttpRequest Handler Ċ import Ġjava . util .* Ċ import Ġjavax . servlet . FilterChain Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . servlet . http . HttpServletResponse Ċ Ċ class ĠE ures Security Handler ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġour Token : ĠByteArray Ċ ) Ġ: ĠHandler Interceptor Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlog : ĠLogger Ġ= ĠLoggerFactory . getLogger ( E ures Security Handler :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġpre Handle ( request : ĠHttpServletRequest , Ġresponse : ĠHttpServletResponse , Ġhandler : ĠAny ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( handler Ġ! is ĠHandler Method ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġif Ġ( handler . bean Ġ! is ĠE ures Controller ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request . has Token () Ġ&& Ġrequest . token Ġcontent Equals Ġour Token Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġlog . debug (" Invalid Ġor Ġmissing Ġtoken Ġon Ġcall Ġto ĠE ures Controller . ĠReturn ing Ġ 4 0 1 ĠU NA UTH ORIZ ED ") ĊĠĠĠĠĠĠĠ Ġresponse . status Ġ= ĠHttpStatus . UN AUTHORIZ ED . value () ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠHttpServletRequest . token ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Header (" Authorization ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . split (' Ġ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . get ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠBase 6 4 . get Decoder (). decode ( it ) Ġ} ĊĊĠĠĠ Ġfun ĠHttpServletRequest . has Token () Ġ= Ġtoken Ġ!= Ġnull ĊĊ Ċ }