package Ġcom . save our tool . save . gateway . config Ċ Ċ import Ġorg . springframework . boot . context . properties . Configuration Properties Ċ import Ġorg . springframework . boot . context . properties . Constructor Binding Ċ import Ġorg . springframework . security . web . util . matcher . IpAddress Matcher Ċ import Ġjava . net . Inet Address Ċ Ċ /** Ċ Ġ* Ġ@ property Ġbackend Ġproperties Ġfor Ġconnection Ġto Ġsave - backend Ċ Ġ* Ġ@ property Ġknown Act uator Consum ers Ġcomma - separated Ġlist Ġof ĠIP s Ġof Ġclients Ġthat Ġare Ġallowed Ġto Ġaccess Ġspring Ġboot Ġact uator Ċ Ġ*/ Ċ @ Constructor Binding Ċ @ Configuration Properties ( prefix Ġ= Ġ" gateway ") Ċ data Ġclass ĠConfiguration Properties ( ĊĠĠĠ Ġval Ġbackend : ĠBackend , ĊĠĠĠ Ġval Ġknown Act uator Consum ers : ĠString ?, Ċ ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġip Address ĠIP Ġaddress Ġto Ġcheck Ġagainst Ġ[ known Act uator Consum ers ] ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġ[ known Act uator Consum ers ] Ġare Ġnot Ġspecified Ġ( effect ively , Ġthis Ġcheck Ġis Ġturned Ġoff ) Ġor Ġif ĊĠĠĠĠ Ġ* Ġ[ ipAddress ] Ġmatches Ġone Ġfrom Ġthat Ġlist . ĠFalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Known Act uator Consumer ( ipAddress : ĠInet Address ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġknown Act uator Consum ers Ġ?: Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġreturn Ġknown Act uator Consum ers . split (',' ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIp Address Matcher ( it ) ĊĠĠĠĠĠĠĠ Ġ}. any Ġ{ Ġit . matches ( ipAddress ?. host Address ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ property Ġurl ĠURL Ġof Ġsave - backend ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠBackend ( ĊĠĠĠĠĠĠĠ Ġval Ġurl : ĠString , ĊĠĠĠ Ġ) Ċ } Ċ