在Spring Boot MVC中,跨控制器处理用户凭据的最佳方法是什么
我想把下面的代码从一个控制器升级到一个全局位置。可以在控制器之间存储和共享此用户名和角色,避免在每个请求中重新执行此代码在Spring Boot MVC中,跨控制器处理用户凭据的最佳方法是什么,spring,spring-boot,keycloak,Spring,Spring Boot,Keycloak,我想把下面的代码从一个控制器升级到一个全局位置。可以在控制器之间存储和共享此用户名和角色,避免在每个请求中重新执行此代码 @RequestMapping(path = {""}) public String clientHome(Model model, Principal principal){ .......... .......... KeycloakAuthenticationToken token = (KeycloakAut
@RequestMapping(path = {""})
public String clientHome(Model model, Principal principal){
..........
..........
KeycloakAuthenticationToken token = (KeycloakAuthenticationToken) principal;
KeycloakPrincipal keycloakprincipal=(KeycloakPrincipal)token.getPrincipal();
KeycloakSecurityContext session = keycloakprincipal.getKeycloakSecurityContext();
AccessToken accessToken = session.getToken();
String role = ((KeycloakAuthenticationToken) principal).getAuthorities().toString().replace("ROLE_","");
model.addAttribute("username", accessToken.getGivenName() +" "+accessToken.getFamilyName());
model.addAttribute("role", role);
return "home";
}