Каков наилучший способ обработки учетных данных пользователей на контроллерах в Spring Boot MVC - PullRequest
1 голос
/ 11 апреля 2020

Я хотел бы переместиться вверх по коду ниже от контроллера до глобального места. Где это имя пользователя и роль могут храниться и совместно использоваться контроллерами, избегая повторного выполнения этого кода в каждом запросе.

 @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";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...