package Ġorg . oss ia ust ria . am igo . platform . security Ċ Ċ import Ġorg . springframework . security . access . Permission Evaluator Ċ import Ġorg . springframework . security . core . Authentication Ċ import Ġjava . io . Serializable Ċ Ċ class ĠAP Permission Evaluator Ġ: ĠPermission Evaluator Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġhas Permission ( auth : ĠAuthentication ?, Ġtarget Domain Object : ĠAny ?, Ġpermission : ĠAny ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( auth Ġ== Ġnull Ġ|| Ġtarget Domain Object Ġ== Ġnull Ġ|| Ġpermission Ġ! is ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtarget Type Ġ= Ġtarget Domain Object . java Class . simple Name . uppercase () ĊĠĠĠĠĠĠĠ Ġreturn Ġhas Privilege ( auth , Ġtarget Type , Ġpermission . toString (). uppercase ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Permission ( ĊĠĠĠĠĠĠĠ Ġauth : ĠAuthentication ?, ĊĠĠĠĠĠĠĠ Ġtarget Id : ĠSerializable ?, ĊĠĠĠĠĠĠĠ Ġtarget Type : ĠString ?, ĊĠĠĠĠĠĠĠ Ġpermission : ĠAny ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( auth Ġ== Ġnull Ġ|| Ġtarget Type Ġ== Ġnull Ġ|| Ġpermission Ġ! is ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġhas Privilege ( auth , Ġtarget Type . uppercase (), Ġpermission . toString (). uppercase ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas Privilege ( auth : ĠAuthentication , Ġtarget Type : ĠString , Ġpermission : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( gr anted Auth Ġin Ġauth . author ities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted Auth . authority . startsWith ( target Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( gr anted Auth . authority . contains ( permission )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ