Как временно отключить spring security
Как временно отключить Spring Security в веб-приложении Spring
Во-первых, я полный нуб, когда дело доходит до Spring. Заявление на работу мне оставил коллега, который сейчас в отпуске. Он сказал мне оставить безопасность в покое, так как окончательный подход еще не решен, и просто разработать rest приложения.
Однако безопасность включена и предотвращает доступ к главной веб-странице. Я проверил несколько документов в том числе
не найдя ответа, который сработает.
Я сделал следующее:
Добавлено index.html к в web.xml. Это направляет меня на страницу входа в систему, которая уже была включена в пакет, который я взял на себя. Поэтому я решил, что могу просто отключить систему безопасности.
В spring security.xml добавлен атрибут security=»none». Теперь я больше не получаю страницу входа в систему. Я получаю чистую страницу.
В web.xml гостей с ограниченными физическими
Все равно получишь пустую страницу.
Я вижу много других советов, но они предполагают гораздо больше знаний Spring, чем у меня есть в настоящее время.
Например, в 4-й ссылке выше я вижу:
Я не знаю, что они означают. Я предполагаю, что это означает поместить эти аннотации где-то в какой-то метод, но я не могу поверить, что это может быть ANYWHERE в любом классе java в приложении. Есть ли пример того, как это сделать?
Может ли кто-нибудь указать мне правильное направление? Спасибо.
3 ответа
Помогите мне советом, пожалуйста. Мне нужно отключить / включить spring security в моем приложении по какой-то переменной в файле xml. мой файл spring-security.xml
Закомментируйте теги в файле security XML и предоставьте доступ ко всем страницам. Это должно сработать.
Это, казалось, сработало (в spring-security.xml)
Похожие вопросы:
У меня есть веб-приложение, которое имеет spring security и по умолчанию все страницы требуют авторизации. В моем сценарии администратор может в какой-то момент решить отключить безопасность для.
Я новичок на Grails. Я установил плагин Spring Security, но хотел бы временно отключить его. Каков самый простой способ отключить этот плагин (или любой другой плагин Grails)?
Как настроить Spring Security в веб-приложении? Я добавил три JAR файлы на Либ: безопасность ядра, безопасность сети и безопасность-конфигурации. Теперь что мне нужно добавить в файл конфигурации.
Как временно отключить Spring Безопасность в Spring веб-приложении
Во-первых, я полный noob, когда дело доходит до Spring. Мне было подано ходатайство о том, чтобы я работал на коллеге, который сейчас находится в отпуске. Он сказал мне оставить безопасность в одиночку, поскольку окончательный подход еще не решен, и просто разработайте остальную часть приложения.
Однако защита включена и запрещает доступ к главной веб-странице. Я проверил несколько документов, включая
не найдя ответ, который работает.
Я сделал следующее:
Добавлен index.html в в web.xml. Это направляет меня на страницу входа, которая уже включена в пакет, который я взял. Итак, я решил, что могу просто отключить безопасность.
В Spring security.xml добавлен атрибут security = «none». Теперь я больше не получаю страницу входа. Я получаю пустую страницу.
В отключенном web.xml
По-прежнему получать пустую страницу.
Я вижу много других советов, но он предполагает гораздо больше знаний Spring, чем я в настоящее время.
Например, в 4-й ссылке выше я вижу:
Если вы определяете @Configuration с @EnableWebSecurity в любом месте ваше приложение отключит защиту по умолчанию для webapp настройки в Spring Загрузка.
Я не знаю, что они означают. Я предполагаю, что это означает помещать эти аннотации на какой-то метод где-то, но я не могу поверить, что это может идти в любом классе Java в приложении. Есть ли пример этого?
Может ли кто-нибудь указать мне правильное направление? Спасибо.
Spring boot Security Disable security
When I use security.basic.enabled=false to disable security on a Spring Boot project that has the following dependencies:
I see the following Exception:
Could someone please let me know if my understanding is wrong?
20 Answers 20
In case you have spring-boot-actuator in your package, you should add the following
In newer versions this has changed to
UPDATE
If for reactive application you are having the same issue, you can exclude the following classes
What also seems to work fine is creating a file application-dev.properties that contains:
If you then start your Spring Boot app with the dev profile, you don’t need to log on.
For Spring Boot 2 following properties are deprecated in application.yml configuration
To disable security for Sprint Boot 2 Basic + Actuator Security following properties can be used in application.yml file instead of annotation based exclusion (@EnableAutoConfiguration(exclude =
For application.properties syntax would be like
If you need security as a dependency but don’t want Spring Boot to configure it for you, you can use this exclusion:
For the spring boot 2 users it has to be
Step 1: Comment annotation @EnableWebSecurity in your security config
Step 2: Add this to your application.properties file.
Answer is to allow all requests in WebSecurityConfigurerAdapter as below.
you can do this in existing class or in new class.
Please note : If ther is existing GlobalMethodSecurityConfiguration class, you must disable it.
Add following class into your code
And insie of application.properties add
If you are using @WebMvcTest annotation in your test class
You can disable security here
Permit access to everything using antMatchers(«/»)
The only thing that worked for me:
Could be that the properties part is redundant or can be done in code, but had no time to experiment. Anyway is temporary.
The easiest way for Spring Boot 2 without dependencies or code changes is just:
You need to add this entry to application.properties to bypass Springboot Default Security
Then there won’t be any authentication box. otrws, credentials are:- user and 99b962fa-1848-4201-ae67-580bdeae87e9 (password randomly generated)
Note: my springBootVersion = ‘1.5.14.RELEASE’
You can configure to toggle spring security in your project by following below 2 steps:
STEP 1: Add a @ConditionalOnProperty annotation on top of your SecurityConfig class. Refer below:
STEP 2: Add following config to your application.properties or application.yml file.
application.properties
application.yml
In order to avoid security you can use annotations. Use this annotation on top of configure class:
Add the below lines to your main app.
Remove org.activiti.spring.boot.SecurityAutoConfiguration.class if you’re not using activiti.
Similarly, remove the one for actuator if you’re not using spring-boot-actuator.
As previously multiple solutions mentioned to disable security through commenting of
annotation and other is through properties in application.properties or yml. But those properties are showing as deprecated in latest spring boot version.
So, I would like to share another approach to configure default username and password in your application-dev.properties or application-dev.yml and use them to login into swagger and etc in development environment.
So, this approach will also provides you some kind of security as well and you can share this information with your development team. You can also configure user roles as well, but its not required in development level.
Spring Boot 2.0 отключить безопасность по умолчанию
Вот что я пробовал:
Как я могу просто отключить базовую безопасность?
UPDATE
Было бы неплохо знать, что я использую не веб-MVC, а веб-поток.
11 ответов
Согласно новым обновлениям в Spring 2.0, если Spring Security находится на пути к классам, Spring Boot добавит @ EnableWebSecurity. Поэтому добавление записей в application.properties не будет работать (т. Е. Больше не будет настраиваться таким образом). Для получения дополнительной информации посетите официальный веб-сайт Изменения безопасности в Spring Boot 2.0
Хотя я точно не уверен в вашем требовании, я мог бы подумать об одном обходном пути, подобном следующему:
Надеюсь это поможет.
Добавляя какой-то свежий ответ, я предполагаю, что все используют привод, если бы я не поспорил, что одного класса исключения должно быть достаточно, мне удалось отключить через свойства:
Я сослался на два класса автоконфигурации через свойство, чтобы сохранить длину неизменной (обратите внимание, что IntelliJ Ultimate будет плакать, если вы так на него ссылаетесь, поскольку он понятия не имеет, что это за значения-заполнители и действительно ли они являются допустимыми классами, поэтому встроенный, если что тебя раздражает).
Однако приложение не может запуститься, как утверждают:
Если вы просто отключите SecurityAutoConfiguration
Если это сработало, вы перестанете видеть автоматически сгенерированный пароль, и это будет немного менее запутанным, чем принятый ответ, так как чтение чтения журнала не будет смущено сгенерированным паролем для базовой аутентификации, в то время как безопасность позволяет все.
Почему просто отключить основной класс автоконфигурации недостаточно из-за этого парня:
Была проделана тонна работы по разделению конфигурации привода и безопасности, которая смутила нас всех, теперь она более прямолинейна, но подобные артефакты все еще существуют. Весенние разработчики меня поправят, если я ошибаюсь :-).
По ссылке Документация, конфигурация безопасности для разрешения всех запросов с WebFlux должна выглядеть следующим образом:
Начиная с Spring Boot 2.1, если вы включили spring-boot-привод, больше не достаточно исключать только SecurityAutoconfiguration, вам также необходимо исключить ManagementWebSecurityAutoConfiguration, например:
Проблема с org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter
У него private ServerAuthenticationEntryPoint authenticationEntryPoint = new HttpBasicServerAuthenticationEntryPoint();
Поэтому, чтобы исправить это во время инициализации ServerHttpSecurity, добавьте:
Похоже, что vanilla (сервлет) Spring использует org.springframework.security.config.annotation.web.configurers.ExceptionHandlingConfigurer # createDefaultEntryPoint
Примечание: изменяемые поля в компонентах стиля компоновщика (например, ExceptionTranslationWebFilter) затрудняют отладку весеннего кода (также слишком волшебная конфигурация)
В Spring boot 2 нет способа отключить базовую аутентификацию с помощью файла application.properties. Но единственное, это использовать аннотации
В основном классе. Оно работает
Если кто-то борется с этим в приложении на основе WebFlux или в приложении Spring Cloud Gateway, мне помогло следующее:
Эта точка входа добавляет
Заголовок, который говорит вашему браузеру использовать Basic Auth.
Вы можете добавить / изменить следующее в своем классе Application:
Это сработало для меня:
Технически безопасность все еще настроена, но широко открыта.
Spring boot Security Отключить безопасность
Когда я использую security.basic.enabled = false, чтобы отключить безопасность в проекте Spring Boot, который имеет следующие зависимости:
Я вижу следующее исключение:
Может ли кто-нибудь сообщить мне, если я неправильно понимаю?
Если вы затем запустите приложение Spring Boot с dev профилем, вам не нужно будет входить в систему.
Если у вас есть пружинный привод в комплекте, вы должны добавить следующие
В более новых версиях это изменилось на
Если вам нужна безопасность как зависимость, но вы не хотите, чтобы Spring Boot настраивал ее за вас, вы можете использовать это исключение:
Для пользователей Spring boot 2 это должно быть
Для Spring Boot 2 следующие свойства устарели в конфигурации application.yml
Чтобы отключить безопасность для Sprint Boot 2 Basic + Actuator Security, в файле application.yml можно использовать следующие свойства вместо исключения на основе аннотаций (@EnableAutoConfiguration (exclude =
Для application.properties синтаксис будет как
Шаг 1. Прокомментируйте аннотацию @EnableWebSecurity в конфигурации безопасности
Добавьте следующий класс в свой код
И insie из application.properties добавить
Если вы используете @WebMvcTest аннотацию в своем тестовом классе
Вы можете отключить безопасность здесь
вы можете сделать это в существующем классе или в новом классе.
Обратите внимание: если существует класс GlobalMethodSecurityConfiguration, вы должны отключить его.
Разрешить доступ ко всему с помощью antMatchers («/»)
В целях безопасности вы можете использовать аннотации. Используйте эту аннотацию поверх класса configure:
Вам необходимо добавить эту запись в application.properties, чтобы обойти безопасность Springboot по умолчанию
Note: my springBootVersion = ‘1.5.14.RELEASE’
Вы можете настроить переключение Spring Security в своем проекте, выполнив следующие 2 шага:
ШАГ 1: Добавьте @ConditionalOnProperty аннотацию поверх вашего класса SecurityConfig. См. Ниже:
ШАГ 2: Добавьте следующую конфигурацию в ваш application.properties или application.yml файл.
application.properties
application.yml
Единственное, что у меня сработало:
Возможно, часть свойств избыточна или может быть реализована в коде, но не было времени на эксперименты. В любом случае временно.
Самый простой способ для Spring Boot 2 без зависимостей или изменений кода:
Добавьте приведенные ниже строки в свое основное приложение.
Удалите org.activiti.spring.boot.SecurityAutoConfiguration.class, если вы не используете activiti.
Точно так же снимите один для привода, если вы не используете пружинный привод.
Как упоминалось ранее, несколько решений для отключения безопасности путем комментирования
Итак, я хотел бы поделиться другим подходом к настройке имени пользователя и пароля по умолчанию в вашем application-dev.properties или application-dev.yml и использовать их для входа в swagger и т.д. в среде разработки.
Таким образом, этот подход также обеспечит вам некоторую безопасность, и вы можете поделиться этой информацией со своей командой разработчиков. Вы также можете настроить роли пользователей, но это не требуется на уровне разработки.