在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";
    }