Главная » Spring » Объявление точек внедрения для защиты методов Spring

0

Ограничения безопасности, накладываемые на различные методы, часто зависят от конкретного метода. Поэтому прием, основанный на аннотировании каждого метода в отдельности, лучше соответ- ствует предъявляемым требованиям. Но иногда имеет смысл при- менить одни и те же ограничения к нескольким методам.

Ограничить доступ к множеству методов можно с помощью элемента <protect-pointcut>, поместив его в элемент <global-method- security>. Например:

<global-method-security>

<protect-pointcut  access="ROLE_SPITTER" expression=

"execution(@com.habuma.spitter.Sensitive  *  *.*(String))"/>

</global-method-security>

В атрибуте expression указывается выражение AspectJ, определяю- щее множество точек внедрения. В данном случае выражение иден- тифицирует все методы, аннотированные нестандартной аннотацией

@Sensitive. При этом атрибут access определяет, какими привилегия- ми должен обладать авторизованный пользователь, чтобы получить доступ к методам, идентифицируемым атрибутом expression.

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии