1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baomidou-shaun

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Основы pac4j-jwt: веб-безопасность

Введение

Основной упор делается на pac4j-jwt, который предоставляет веб-компонент безопасности по умолчанию с использованием JWT.

JDK shaun spring boot
17 2.x 3.x
8 1.x 2.x

Преимущества

  • Быстрая интеграция: для реализации базовой защиты интерфейса требуется лишь небольшое количество конфигурации и кода.
  • По умолчанию используется JWT для аутентификации личности.
  • Гибкая конфигурация JWT: по умолчанию включает в себя подпись и шифрование.
  • Дополнительные расширенные функции доступны путём реализации соответствующих интерфейсов и внедрения их в контейнер Spring.
  • В этом фреймворке не используются сеансы (за исключением классов, предоставляемых pac4j).
  • Интеграция сторонних сервисов входа в систему, таких как OAuth (QQ, WeChat) и CAS, может быть выполнена быстро, без разделения между фронтендом и бэкендом, опираясь на различные клиенты, предоставляемые pac4j.

Модули

  • shaun-core: основной пакет.
  • shaun-togglz: предоставляет реализацию класса UserProvider для togglz.
  • shaun-spring-boot-starter: пакет быстрого запуска Spring Boot.
  • tests: различные демонстрационные тесты.

Установка

  1. Импорт: shaun-spring-boot-starter и spring-boot-starter-web.
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>shaun-spring-boot-starter</artifactId>
    <version>Latest Version</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>spring-boot-version</version>
</dependency>
  1. Конфигурация application.yml.

Подробности см. в wiki.

shaun:
  ......
  security:
    ......
  actuator:
    ......
  thirdParty:
    ......

Дополнительную информацию о конфигурации yml можно найти здесь.

  1. Написание кода для входа.
import com.baomidou.shaun.core.mgt.SecurityManager;

@Service
public class LoginServiceImpl implements LoginService {

    @Autowired
    private SecurityManager securityManager;

    @Override
    @Transactional
    public String login() {
        // 登录成功后 сохраняем информацию о ролях и разрешениях пользователя в profile
        final TokenProfile profile = new TokenProfile();
        profile.setId(userId.toString());
        //profile.addRole(role:String);  
        //profile.setRoles(roles:Set);  
        //profile.addPermission(permission:String);
        //profile.setPermissions(permissions:Set);
        //profile.addAttribute("key","value");
        final String token = securityManager.login(profile);
        //Если выбрано сохранение токена в cookie, securityManager.login выполнит автоматическую операцию
        return token;
    }
  1. Аннотации для контроля доступа:

@HasAuthorization , @HasPermission , @HasRole

Поддерживаются на уровне методов и классов.

Пример:

@HasPermission(value = {"add", "edit"}, logical = Logical.BOTH) //Оба разрешения должны существовать
@HasPermission(value = {"add", "edit"}, logical = Logical.ANY)  //Любое из разрешений должно существовать (по умолчанию)
  1. Как получить информацию о пользователе (информация недоступна для интерфейсов без контроля доступа).
TokenProfile profile = ProfileHolder.getProfile();

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/baomidou-shaun.git
git@api.gitlife.ru:oschina-mirror/baomidou-shaun.git
oschina-mirror
baomidou-shaun
baomidou-shaun
master