package Ġcom . config set . server . auth Ċ Ċ class ĠUser Role Service Ġ{ ĊĊĠĠĠ Ġfun Ġhas Role ( userInfo : ĠUserInfo , Ġrole : ĠRole ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtmp Role : ĠRole ? Ġ= Ġrole ĊĠĠĠĠĠĠĠ Ġwhile Ġ( tmp Role Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( userInfo . roles . contains ( tmp Role . key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtmp Role Ġ= Ġtmp Role . parent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Any Role ( userInfo : ĠUserInfo , Ġroles : ĠSet < Role >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( role Ġin Ġroles ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Role ( userInfo , Ġrole )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ }