Главная » Spring » Доступ к информации об аутентификации Spring

0

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

<security:authentication>. Например:

Hello   <security:authentication   property="principal.username"   />!

Атрибут property определяет свойство объекта аутентификации пользователя. Перечень доступных свойств зависит от того, как был аутентифицирован пользователь. Однако некоторые свойства, включая перечисленные в табл. 10.4, являются общими и доступны всегда.

В данном примере отображаемое свойство в действительности является вложенным свойством username свойства principal.

При таком использовании, как в примере выше, тег <security: authentication> отобразит значение указанного свойства в представ- лении. Но если потребуется лишь присвоить значение свойства пе- ременной, тогда достаточно просто указать имя переменной в атри- буте var:

<security:authentication property="principal.username"

var="loginId"/>

Таблица 10.4. Тег <security:authentication> предоставляет доступ к информации аутентификации пользователя

Свойство

Описание

authorities

Коллекция объектов GrantedAuthority, представляющих привиле- гии, которыми обладает пользователь

credentials

Ключевая информация, использованная для проверки подлинности пользователя (часто это пароль)

details

Дополнительная информация об аутентификации (IP-адрес, серийный номер сертификата, идентификатор сеанса и т. д.)

principal

Основной объект с информацией о пользователе

По умолчанию переменная будет создана в области видимо- сти страницы. Но с помощью атрибута scope можно также опре- делить другую область видимости, такую как область видимости запроса или сеанса (или любую другую область видимости, до- ступную из javax.servlet.jsp.PageContext). Например, чтобы создать переменную в области видимости запроса, можно определить тег

<security:authentication>, как показано ниже:

<security:authentication     property="principal.username" var="loginId"  scope="request"  />

Тег <security:authentication> может пригодиться во многих ситуа- циях, но это лишь малая часть того, что может предоставить биб- лиотека тегов JSP в Spring Security. Посмотрим, как обеспечить отображение содержимого страницы в зависимости от привилегий пользователя.

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

По теме:

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