package Ġorg . riz ki . m uf riz al . boot . swagger . configuration Ċ Ċ import Ġorg . riz ki . m uf riz al . boot . swagger . helpers . Access Denied Handler Helper Ċ import Ġorg . riz ki . m uf riz al . boot . swagger . repository . UserRepository Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . security . config . annotation . authentication . builders . Authentication Manager Builder Ċ import Ġorg . springframework . security . config . annotation . web . builders . Http Security Ċ import Ġorg . springframework . security . config . annotation . web . configuration . Enable Web Security Ċ import Ġorg . springframework . security . config . annotation . web . configuration . Web Security Configurer Adapter Ċ import Ġorg . springframework . security . core . Granted Authority Ċ import Ġorg . springframework . security . core . authority . Simple Granted Authority Ċ import Ġorg . springframework . security . core . user details . User Ċ import Ġorg . springframework . security . core . user details . UserDetails Service Ċ import Ġorg . springframework . security . core . user details . Username NotFoundException Ċ import Ġorg . springframework . security . crypto . bcrypt . BC rypt Password Encoder Ċ import Ġorg . springframework . security . crypto . password . Password Encoder Ċ import Ġorg . springframework . security . web . access . channel . Channel Processing Filter Ċ Ċ /** Ċ Ġ* Ċ Ġ* Ġ@ Author ĠR iz ki ĠM uf riz al Ġ< m uf riz al riz ki @ gmail . com > Ċ Ġ* Ġ@ Web Ġ< https :// R iz ki M uf riz al . github . io > Ċ Ġ* Ġ@ Since Ġ 1 7 ĠDecember Ġ 2 0 1 7 Ċ Ġ* Ġ@ Time Ġ 3 : 3 3 ĠPM Ċ Ġ* Ġ@ Project ĠBoot - Swagger Ċ Ġ* Ġ@ Package Ġorg . riz ki . m uf riz al . boot . swagger . configuration Ċ Ġ* Ġ@ File ĠWeb Security Configuration Ċ Ġ* Ċ Ġ*/ Ċ Ċ @ Configuration Ċ @ Enable Web Security ( debug Ġ= Ġfalse ) Ċ class ĠWeb Security Configuration Ġ: ĠWeb Security Configurer Adapter () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġuser Repository : ĠUser Repository ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġaccess Denied Handler Helper : ĠAccess Denied Handler Helper ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġpassword Encoder (): ĠPassword Encoder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBC rypt Password Encoder () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġuser Details Service () Ġ= ĠUser Details Service Ġ{ Ġusername Ġ-> ĊĠĠĠĠĠĠĠ Ġuser Repository . findBy Username ( username ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild User For Authentication ( user , Ġbuild User Authority ( user Roles Ġ= Ġuser . roles Ġas ĠSet < *> )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUsername NotFoundException (" username Ġnot Ġfound Ġ$ username ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild User For Authentication ( user : Ġorg . riz ki . m uf riz al . boot . swagger . domain . User , Ġgranted Author ities : ĠList < Granted Authority >): ĠUser Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUser ( user . username , Ġuser . password , Ġuser . isActive Ġas ĠBoolean , Ġtrue , Ġtrue , Ġtrue , Ġgranted Author ities ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild User Authority ( user Roles : ĠSet < *> ): ĠList < Granted Authority > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgranted Author ities Ġ= ĠHashSet < Granted Authority >() ĊĠĠĠĠĠĠĠ Ġuser Roles . forEach Ġ{ Ġgranted Author ities . add ( Simple Granted Authority ( it Ġas ĠString ? )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠArrayList ( gr anted Author ities ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure ( authentication Manager Builder : ĠAuthentication Manager Builder ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġauthentication Manager Builder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . user Details Service ( this . user Details Service ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . password Encoder ( password Encoder ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure ( http Security : ĠHttp Security ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġhttp Security ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . authorize Requests () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . ant Matchers ("/ v 2 / api - docs ", Ġ"/ swagger - resources ", Ġ"/ swagger - resources / configuration / ui ", Ġ"/ swagger - resources / configuration / security ", Ġ"/ swagger - ui . html ", Ġ"/ web j ars /** ") ?. permit All () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . any Request ()?. authenticated () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . http Basic () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . add Filter Before ( Cors Configuration (), ĠChannel Processing Filter :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . csrf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . disable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . exception Handling () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . access Denied Handler ( access Denied Handler Helper ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . authentication EntryPoint ( access Denied Handler Helper ) ĊĠĠĠ Ġ} Ċ Ċ }