2015-08-01 3 views
0

У меня есть следующие вопросы: Как предотвратить доступ пользователя к другому с помощью SpringSecurityCore?Предотвращение доступа к другому пользователю с использованием Grails SpringSecutiryCore

Например, чтобы ученик не мог получить доступ к данным другого учащегося. В то время эти две роли имеют ту же роль (роль ученика) , и если я это сделаю студент/шоу/1 Я могу видеть и редактировать данные. Я хочу остановить это!

Я могу сделать с плагином ACL, используя тег @PreAuthorize, но он устарел и дает ошибку в версии 2.5.1 Grails.

Следуя за ним в ACL: доступ имеет только ADMIN и учащийся.

@PreAuthorize("(hasRole('ROLE_ADMIN')) or (isAuthenticated()) and (principal.id==#studentInstance.id)") 

ответ

1

Вы можете использовать аннотацию @Secured на уровне метода. Затем сравните основной идентификатор, как вы уже делали. Наконец, render статус 403, когда главный не соответствует.

render(status: 503) 
+0

Thank @ emmanuel-rosa. Как я об этом не думал? :) –

+0

LOL! Это происходит со всеми нами. –

Смежные вопросы