Главная » Spring » Обзор Spring Security

0

Независимо от типа приложения, которое предполагается обе- зопасить с применением Spring Security, в первую очередь следует добавить модули Spring Security в библиотеку классов (classpath) приложения. Версия Spring Security 3.0 делится на восемь модулей, которые перечислены в табл. 10.1.

Таблица 10.1. Spring Security делится на восемь модулей

Модуль

Описание

ACL

Обеспечивает поддержку безопасности доменных объектов

с использованием списков управления доступом (Access Control Lists, ACL)

CAS Client

Обеспечивает интеграцию с централизованной службой аутентификации JA-SIG (Central Authentication Service, CAS)

Configuration

Обеспечивает поддержку пространства имен XML

Core

Основная библиотека Spring Security

LDAP

Обеспечивает поддержку аутентификации с использованием облегченного протокола доступа к каталогу (Lightweight Directory Access Protocol, LDAP)

OpenID

Обеспечивает интеграцию с децентрализованной службой OpenID

Tag Library

Включает множество тегов JSP для обеспечения безопасности на уровне представлений

Web

Обеспечивает поддержку безопасности веб-приложений с применением фильтров

В библиотеку классов приложения требуется включить, как ми- нимум, модули Core и Configuration. Фреймворк Spring Security часто используется для обеспечения безопасности веб-приложений. Это напрямую относится к приложению Spitter, поэтому нам также следует подключить модуль Web. Было бы желательно иметь воз- можность воспользоваться преимуществами поддержки JSP-тегов в Spring Security, поэтому подключим также и этот модуль.

Теперь можно приступать к декларативной настройке безопасно- сти в Spring Security. Для начала познакомимся с пространством имен XML, предоставляемым фреймворком Spring Security.

Использование  конфигурационного пространства имен Spring Security

Когда фреймворк Spring Security еще носил название Acegi Secu- rity, все элементы поддержки безопасности настраивались как ком- поненты в контексте приложения Spring. Типичный конфигураци- онный файл Acegi мог содержать десятки объявлений компонентов

<bean> и располагаться на множестве страниц.

Фреймворк Spring Security поддерживает специализированное пространство имен, существенно упрощающее настройку безопасно- сти в Spring. Это новое пространство имен, наряду с обоснованными настройками по умолчанию, уменьшает размер типичного конфигу- рационного XML-файла с сотен до десятков строк.

Единственное, что необходимо сделать, чтобы получить возмож- ность пользоваться новым пространством имен, – подключить его в XML-файле, добавив его объявление, как показано в листинге 10.1:

Листинг 10.1. Добавление пространства имен Spring Security в конфигурационный XML-файл Spring

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">

<!– Здесь располагаются элементы с префиксом security: –>

</beans>

В приложении Spitter мы поместим все настройки безопасности в отдельный конфигурационный файл с именем spitter-security.xml. Поскольку в этом файле все элементы будут принадлежать специа- лизированному пространству имен, его можно объявить простран- ством имен по умолчанию, как показано в листинге 10.2.

Листинг 10.2. Объявление пространства имен настройки безопасности пространством имен по умолчанию

<beans:beans   xmlns:beans="http://www.springframework.org/schema/beans" xmlns="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">

<!– Здесь располагаются элементы без префикса security: –>

</beans:beans>

Объявив пространство имен элементов настройки безопасности пространством имен по умолчанию, можно избежать необходимости использовать префикс security: во всех элементах.

Теперь, когда появилась возможность аккуратно расположить все настройки безопасности в отдельном месте, можно приступать к до- бавлению в приложение Spitter настроек безопасности на уровне веб-запросов.

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

По теме:

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