[Пекин] Столкнувшись с собеседованиями, сменой работы, продвижением по службе и другими проблемами, как ИТ-специалисты могут быстро расти и получать квалификацию для работы на крупных фабриках и козыри для продвижения по службе и повышения заработной платы? Пообщайтесь лицом к лицу с техническими экспертами крупных заводов, чтобы ответить на ваши сомнения. Ссылка на мероприятие «Путь к росту от Сяобая на рабочем месте до технического директора: тревога и искупление на рабочем месте»:Кодер
Поздравляем fpx, новый король на троне, lpl*b мы чемпионы
Оригинальная ссылка:сегмент fault.com/ah/119000002…
1. Сценарии применения режима HttpBasic
Режим аутентификации при входе HttpBasic — это самый простой способ для Spring Security реализовать аутентификацию при входе, и его также можно назвать самым простым способом. Его цель состоит не в том, чтобы гарантировать абсолютную безопасность проверки входа в систему, а в том, чтобы обеспечить проверку входа, которая «защищает от джентльменов, но не от злодеев».
Как будто я в детстве вел дневник, и всегда покупал дневник с маленьким замочком.В самом деле, что толку от этого маленького замочка? Любой, кто действительно хочет его увидеть, может открыть его гвоздем. Его функция такова: однажды ваши родители захотят заглянуть в ваш дневник, вынуть его и посмотреть на него с замком, а потом забыть, это очень хлопотно.
Например, я использую режим HttpBasic для аутентификации при входе: когда я был менеджером отдела в компании, я разработал набор Http-интерфейсов для статистической эффективности, обмена знаниями, генерации кода и экспорта отчетов. Чисто для повышения эффективности в работе, и в то же время немного эгоизма, ведь конкуренция между отделами есть, поэтому я добавил в этот интерфейс проверку HttpBasic. Любой техник в компании может взломать эту проверку максимум за один или два часа. Грубо говоря, данные этого инструмента не так уж и важны, и цель добавления блокировки — не допустить, чтобы они стали публичными данными. Если кто-то, кто хочет его взломать, действительно хочет увидеть данные в нем, это не имеет значения. Это типичный сценарий применения режима HttpBasic.
2. Spring boot2.0 интегрирует безопасность Spring
Spring boot 2, метод maven версии x вводит координаты безопасности Spring.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
3. Режим аутентификации входа HttpBasic
Если используемая версия Spring Boot — версия 1.X, а зависимая версия Security — 4.X, то настройка не требуется, и при запуске доступа к проекту появится всплывающая аутентификация httpbasic по умолчанию.
Теперь мы используем версию Spring Boot 2.0 (в зависимости от версии Security 5.X), HttpBasic больше не является режимом аутентификации по умолчанию, а режим аутентификации по умолчанию в Spring Security 5.x уже является режимом формы. Итак, мы хотим использовать базовый режим, нам нужно настроить его самостоятельно. а такжеsecurity.basic.enabled
Он устарел, поэтому нам нужно самим закодировать реализацию.
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic()//开启httpbasic认证
.and()
.authorizeRequests()
.anyRequest()
.authenticated();//所有请求都需要登录认证才能访问
}
}
Запустите проект, есть такая серия отпечатков журнала в фоновом режиме проекта, а пароль по умолчанию стоит после двоеточия.
Using generated security password: 0cc59a43-c2e7-4c21-a38c-0df8d1a6d624
Мы можем войти в систему через браузер, имя пользователя по умолчанию — user (окно входа ниже разработано не нами, но поставляется с режимом HttpBasic).
Конечно, мы также можем указать имя пользователя и пароль конфигурации через application.ymlspring:
security:
user:
name: admin
password: admin
В-четвертых, принцип режима HttpBasic
- Во-первых, режим HttpBasic требует, чтобы передаваемые имя пользователя и пароль были зашифрованы с использованием режима Base64. Если имя пользователя "
admin
", пароль "admin", строка "admin:admin
" Зашифровано с помощью алгоритма кодирования Base64. Зашифрованный результат может быть: YWtaW46YWRtaW4=. - Затем используйте авторизацию в качестве заголовка в запросе Http, "Basic YWtaW46YWRtaW4=" в качестве значения заголовка и отправьте его на сервер. (Обратите внимание, что здесь используется строка Basic+space+encrypted)
- Когда сервер получает такой запрос, он достигает фильтра BasicAuthenticationFilter, который извлекает значение заголовка «Авторизация» и декодирует его с использованием того же алгоритма Base64, который используется для аутентификации личности пользователя.
- Декодированный результат совпадает с именем пользователя и паролем проверки входа в систему. Если совпадение успешно, фильтр может продолжить доступ к фильтру.
Поэтому режим HttpBasic действительно очень простой и простой режим проверки.Алгоритм шифрования Base64 является обратимым.Вы знаете вышеизложенный принцип, и его можно взломать за считанные минуты. Мы можем использовать инструмент PostMan для отправки Http-запросов для проверки входа.
(Для тех, кто хочет научиться программировать самостоятельно, ищитеСообщество Circle T, больше отраслевой информации и больше отраслевых бесплатных видеоуроков. Совершенно бесплатно!)