Я использую @preauthorize для безопасности на уровне метода. Для моего метода1 одна из двух ролей может удовлетворить только. Но внутри этого метода мне нужно знать, какую роль он выполнил на этот раз, и на основе этого мне нужно установить последующее путешествие для функциональных требований. Моя проблема такая, как показано ниже -

@PreAuthorize("hasAnyRole('Role_1') or hasAnyRole('Role_2')")
    @RequestMapping(value = URL_MAPPING, method = {RequestMethod.GET, RequestMethod.POST })
    public ModelAndView methodName(HttpSession session,
            ModelAndView modelAndView) {


        //here i need to know which role it has passed to execute the method.
        if (role1 executed) {
            sessionInformation.updateJourneyInfo(updateforrole1);
        }else{
            sessionInformation.updateJourneyInfo(updateforrole2);
        }

Может ли кто-нибудь помочь в решении этой проблемы. Заранее спасибо.

0
aniruddha 16 Фев 2018 в 18:32

1 ответ

Лучший ответ

Добавьте запрос HttpServletRequest в список параметров для метода, затем используйте

request.isInRole("ROLE_Role_1")
0
codebrane 16 Фев 2018 в 18:45