Я использую Spring 3 и реализовал MVC с помощью simpleUrlMapping. У меня класс CustomerController
. В CustomerController
у меня есть три метода:
Вышеуказанные действия вызываются с помощью преобразователя имен методов.
Мое требование здесь в зависимости от вошедшего в систему пользователя и привилегий, которые я хочу защитить соответствующие вызовы методов.
Метод удаления клиента должен вызываться пользователем с привилегиями, а не всеми пользователями.
Я также использую Spring Security. Есть ли способ защитить метод удаления клиента с помощью безопасности Spring?
параметры:
@RequestMapping
public void deleteCustomer(HttpServletRequest request) {
if (request.isUserInRole("ROLE_ADMIN"){
// do deletion
};
}
или используйте @EnableGlobalMethodSecurity
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping
public void deleteCustomer(HttpServletRequest request) {
Привет Спасибо за ответ. В Spring Security 3 у нас есть @preauthorize, но как мы можем добиться того же в Spring Security 2. К сожалению, я использую Spring Security 2 вместе с Spring 3