Вы можете скрыть кнопку удаления в вашем представлении jspx
, если вы только блокируете доступ через пользовательский интерфейс, а затем запретите вызов метода удаления через ваши контроллеры. Вы также можете использовать дополнительные методы, чтобы запретить пользователям выполнять определенные операции.
1. Интерфейс пользователя
Однако, вам нужно будет выполнить ручную проверку на контроллерах, чтобы убедиться, что неавторизованные пользователи не выполняют операцию удаления.
Для этого сначала нужно импортировать пространство имен библиотеки тегов Spring JSP Spring в файл jspx
.
xmlns:sec="http://www.springframework.org/security/tags"
Затем используйте теги безопасности Spring, которые вы только что импортировали, чтобы окружать элементы, которые необходимо отображать на уровне пользователя.
Для примера:
<sec:authorize access="hasRole('ROLE_ADMIN')">
<p>User is an administrator</p>
<!-- Delete button goes here -->
</sec:authorize>
Для получения дополнительной информации о библиотеке тегов, пожалуйста, посетите http://static.springsource.org/spring-security/site/docs/3.0.x/reference/taglibs.html
2. Контроллер
Вы можете перехватывать URL, чтобы запретить пользователям, которые не у вас есть ROLE_ADMIN
, добавив в ваш applicationContext-security.xml
<intercept-url pattern="/countries/**" access="hasRole('ROLE_ADMIN')" method="DELETE"/>
Если это не сработает, попробуйте перевести следующую ссылку.
http://forum.springsource.org/showthread.php?123781-intercept-url-method-attribute-not-work-with-put-and-delete
Для интересного урока о визите Spring Security http://static.springsource.org/spring-security/site/petclinic-tutorial.html
Приветствия.