package Ġtop . fel ix u . config . security Ċ Ċ import Ġorg . springframework . security . authentication . Authentication Manager Ċ import Ġorg . springframework . security . authentication . Username Password Authentication Token Ċ import Ġorg . springframework . security . core . context . SecurityContext Holder Ċ import Ġorg . springframework . security . web . authentication . www . Basic Authentication Filter Ċ import Ġtop . fel ix u . uit l . Jwt Utils Ċ import Ġjava . io . IOException Ċ import Ġjavax . servlet . FilterChain Ċ import Ġjavax . servlet . Servlet Exception Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . servlet . http . HttpServletResponse ĊĊ Ċ /** Ċ Ġ* Ġ æİĪæĿĥ è¿ĩç¨ĭ Ċ Ġ* Ċ Ġ* Ġ@ author Ġfel ix u Ċ Ġ* Ġ@ since Ġ 2 0 2 1 . 0 4 . 1 6 Ċ Ġ*/ Ċ class ĠAuthorization Filter ( authentication Manager : ĠAuthentication Manager ) Ġ: ĠBasic Authentication Filter ( authentication Manager ) Ġ{ ĊĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠServletException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdo Filter Internal ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠHttpServletRequest , ĊĠĠĠĠĠĠĠ Ġresponse : ĠHttpServletResponse , ĊĠĠĠĠĠĠĠ Ġchain : ĠFilter Chain ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken Ġ= Ġrequest . getHeader (" Authorization ") ĊĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ è¯·æ±Ĥ å¤´ ä¸Ń æ²¡æľī ĠAuthorization Ġ ä¿¡æģ¯ çĽ´æİ¥ ĠG G ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ 0 4 / 1 6 Ġ Ġ å¤ĦçĲĨ æ²¡æľī ä¼ł è¯·æ±Ĥ å¤´ çļĦ æĥħåĨµ ĊĠĠĠĠĠĠĠ Ġ// Ġå¦Ĥæŀľ è¯·æ±Ĥ å¤´ ä¸Ń æľī token ï¼Į åĪĻ è¿Ľè¡Į è§£æŀĲ ï¼Į å¹¶ä¸Ķ è®¾ç½® è®¤ è¯ģ ä¿¡æģ¯ ĊĠĠĠĠĠĠĠ ĠSecurity Context Holder . getContext (). authentication Ġ= Ġget Authentication ( token ) ĊĠĠĠĠĠĠĠ Ġsuper . do Filter Internal ( request , Ġresponse , Ġchain ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ è¿ĻéĩĮ ä»İ token ä¸Ń èİ·åıĸ çĶ¨æĪ· ä¿¡æģ¯ å¹¶ æĸ°å»º ä¸Ģä¸ª token ĊĠĠĠ Ġprivate Ġfun Ġget Authentication ( token : ĠString ): ĠUsername Password Authentication Token Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoken : ĠString Ġ= Ġtoken . replace (" Bearer Ġ", Ġ"") ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġusername : ĠString Ġ= ĠJwt Utils . getUsername ( token ) ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ 0 4 / 1 6 Ġä»İ Ġtoken Ġä¸Ń è§£æŀĲ åĩº éľĢè¦ģ çļĦä¿¡æģ¯ ĊĠĠĠĠĠĠĠ Ġreturn ĠUsername Password Authentication Token (" w oc ao ", Ġnull , ĠArrayList ()) ĊĠĠĠ Ġ} Ċ Ċ }