Access Control List (ACL) – это список разрешений на объект. Этот список определяет, какому пользователю (или какой роли) какие операции разрешены над конкретным экземпляром объекта.
Читать далее «Введение в Spring Security ACL»
Spring Security
Здесь статьи по Spring Security.
Оглавление:
- Добавление Spring Security и In-Memory Authentication
- Настройка авторизации
- Custom Login Form
- Как устроена аутентификация в Spring Security
- Пример аутентификации с пользовательским AuthenticationProvider и с пользовательским UserDetailsService. (Пример с JPA)
- JDBC-аутентификация
- Remember-Me
- JWT-токен: зачем он
- Пример приложения с JWT-токеном
- Защита методов с помощью @PreAuthorize
- Spring Security ACL
- Разные HttpSecurity для разных url
- CORS в Spring Security
- OAuth 2: Client Credentials Flow
Защита методов – аннотация @PreAuthorize
Мы уже рассмотрели авторизацию на основе url, но ее бывает недостаточно. В этой статье мы рассмотрим, как защитить отдельные методы (любые – как методы контроллеров, так и сервисов). То есть разрешить вызов метода только пользователю с конкретными правами. (А вообще можно задать любые условия).
Читать далее «Защита методов – аннотация @PreAuthorize»
Spring Custom Login Form
В этой статье рассмотрим, как заменить автоматически генерируемую форму ввода имени и пароля на свою собственную на Thymeleaf.
Читать далее «Spring Custom Login Form»
OAuth 2 Сlient Credentials Flow. Пример на Spring Boot
В этой статье рассмотрим пример Client Credentials flow с новым экспериментальным сервером авторизации на Spring Boot. Новый сервер был анонсирован буквально недавно и еще не полностью готов (текущая версия 0.0.2). Но Client Credentials flow (и Authorization Code flow) он уже поддерживает.
Читать далее «OAuth 2 Сlient Credentials Flow. Пример на Spring Boot»
TestRestTemplate с авторизацией
Здесь рассмотрим случай, когда тестируемый /url защищен, и с первого раза запрос с TestRestTemplate сделать не получится.
В этом случае отправляем два запроса – один для получения заголовка авторизации, а второй уже с целью тестирования.
Читать далее «TestRestTemplate с авторизацией»
Multiple HttpSecurity
Иногда требуется, чтобы в приложении для разных url была настроена разная аутентификация и авторизация. Одну часть приложения надо обезопасить так, а другую этак.
Например, по адресам /api/* приложение предоставляет REST API с аутентификацией через JWT-токен. А все остальные url – это обычные страницы веб-сайта с перенаправлением на форму логина для неаутентифицированных, используют сессии.
Читать далее «Multiple HttpSecurity»
Настройка CORS в Spring Security
В целях безопасности браузер запрещает JS-скрипту одного сайта обращаться на другой сайт без специального разрешения. Разрешение это реализуется с помощью технологии CORS (Cross-Origin Resource Sharing). Рассмотрим пример.
Читать далее «Настройка CORS в Spring Security»
Пример приложения с JWT-токеном
Напишем REST API с использованием JWT-токена.
Читать далее «Пример приложения с JWT-токеном»
JWT-токен: принцип использования
В этой статье речь пойдет о смысле JWT-токена. А о том, как именно его настроить будет в следующей.
Читать далее «JWT-токен: принцип использования»
Сессии и Remember-Me аутентификация
В этой статье говорится об обычном способе запоминания пользователей с помощью сессий и о Remember-Me аутентификации – способе, специфичном для Spring Security .
Читать далее «Сессии и Remember-Me аутентификация»