Защита вызовов методов в Spring multiactionController с использованием methodNameResolver - PullRequest
0 голосов
/ 01 мая 2018

Я использую Spring 3 и реализовал MVC, используя simpleUrlMapping. У меня CustomerController класс. В CustomerController у меня есть три метода:

  1. Просмотр клиента
  2. Добавить клиента
  3. Удалить клиента

Вышеуказанные действия вызываются с помощью распознавателя имени метода.

Мое требование здесь зависит от пользователя, вошедшего в систему, и привилегий. Я хочу защитить соответствующие вызовы методов.

Метод удаления клиента должен вызываться привилегированным пользователем, а не всем пользователем.

Я также использую Spring Security. Есть ли способ защитить метод удаления клиента с помощью Spring security?

1 Ответ

0 голосов
/ 01 мая 2018

опции:

@RequestMapping
 public void deleteCustomer(HttpServletRequest request) {
    if(request.isUserInRole("ROLE_ADMIN"){
      // do deletion
    };

 }

или используйте @ EnableGlobalMethodSecurity

 @PreAuthorize("hasRole('ROLE_ADMIN')")
 @RequestMapping
 public void deleteCustomer(HttpServletRequest request) {
...