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

OSCHINA-MIRROR/XYJXUST-pine-security

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

pine-security

Введение

Это основанная на springboot структура безопасности, которая использует oauth2 в качестве основы и включает функции авторизации и аутентификации, а также поддерживает единый вход. В настоящее время настройка spring security сложна, исходный код трудно понять, shiro не предназначен для разделения между передним и задним концами, и его необходимо модифицировать для адаптации. Поэтому мы хотим разработать собственную простую в настройке и полностью функциональную структуру безопасности.

Описание

  1. Разработана с использованием spring security, основана на технологии spring boot 2.1.3, без упаковки, поддерживает различные методы входа, такие как имя пользователя и пароль, проверка кода, мобильный телефон и сторонний вход, легко расширяема.
  2. Права доступа основаны на дизайне shiro, включая поддержку проверки портов, кодов доступа, ролей и регионов. Конфигурацию можно настроить с помощью yml или из собственного источника данных. Поддерживает динамическую проверку прав доступа, централизованную аутентификацию и одномашинную аутентификацию.
  3. Простая конфигурация: запуск службы авторизации с помощью аннотации @EnableAuthorizationServer, запуск единого входа с помощью @EnableOAuth2SSO и запуск службы разрешений с помощью @EnableMethodSecurity. Включает обработку вызовов feign.
  4. Без сохранения состояния, произвольное горизонтальное расширение, высокая доступность сервиса.

Использование

  1. Запуск сервера авторизации:
    • Добавьте аннотацию запуска @EnableAuthorizationServer.
    • Реализуйте UsernamePasswordAuthenticator.
   @Component
   @Primary
   @Slf4j
   public class UsernamePasswordAuthenticatorImpl extends UsernamePasswordAuthenticator {

       @Autowired
       private UserInfoManager userInfoManager;
       @Override
       public UserDetails authenticate(IntegrationLoginRequest integrationAuthentication) {
           return userInfoManager.getUserByUsername(integrationAuthentication.getUsername());
       }
   }
* Feign в среде oauth не требует токена, уже добавлена конфигурация, просто добавьте следующую конфигурацию в конфигурацию:
   pine:
      oauth:
        sso: #конфигурация единого входа
          client_id: browser
          client_secret: ui
          access_token_uri: http://auth.admin1.com:10010/oauth/token
      feign:
       oauth:
         enabled: true
  1. Запустите службу единого входа:
    • Добавьте аннотацию запуска @EnableOAuth2SSO.
    • Добавьте следующую конфигурацию:
    pine:
      oauth:
        sso: #конфигурация единого входа
          client_id: browser
          client_secret: ui
          access_token_uri: http://auth.admin1.com:10010/oauth/token
          access_token_validate_uri: http://auth.admin1.com:10010/oauth/check_token
          user_authorization_uri: http://auth.admin1.com:10010/oauth/authorize
  1. Запустите сервис разрешений:
    • Добавьте аннотацию запуска @EnableMethodSecurity.
    • Если вы используете файл конфигурации для настройки разрешений, используйте perims (xxx) для ресурсов, role (xxx) для ролей, port (xxx) для портов, anon для белого списка и scope для региональных разрешений (можно настроить в соответствии с областью действия oauth2).

Участие

  1. Fork этот репозиторий.
  2. Создайте ветку Feat_xxx.
  3. Отправьте код.
  4. Создайте запрос на вытягивание.

Спасибо

Благодарим за открытый исходный продукт, этот проект основан на многих открытых проектах.

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

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

Введение

Это безопасный фреймворк на основе Spring Boot с аутентификацией на базе OAuth2. Он включает функции аутентификации и авторизации, а также поддерживает единый вход (SSO). Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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