Когда я развертываю свое приложение Spring с помощью Spring Boot и доступа, localhost:8080
мне нужно пройти аутентификацию, но каковы имя пользователя и пароль или как я могу их установить? Я пытался добавить это в свой tomcat-users
файл, но это не сработало:
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
Это отправная точка приложения:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
И это зависимость Tomcat:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Как мне пройти аутентификацию localhost:8080
?
java
spring
spring-mvc
tomcat
spring-boot
Gustavo
источник
источник
Ответы:
Я думаю, что у вас есть Spring Security на пути вашего класса, а затем Spring Security автоматически настраивается с пользователем по умолчанию и сгенерированным паролем
Пожалуйста, посмотрите в свой файл pom.xml для:
Если у вас есть это в вашей поме, то у вас должно появиться сообщение консоли:
Using default security password: ce6c3d39-8f20-4a41-8e01-803166bb99b6
И в приглашении браузера вы импортируете пользователя
user
и пароль, напечатанные в консоли.Или, если вы хотите настроить Spring Security, вы можете взглянуть на защищенный пример Spring Boot.
Это объясняется в справочной документации Spring Boot в разделе « Безопасность », в ней указано:
источник
org.springframework.boot.autoconfigure.security
категории задана запись сообщений INFO, в противном случае пароль по умолчанию не будет напечатан.Если
spring-security
файлы jar добавлены в classpath, а также если этоspring-boot
приложение, все конечные точки http будут защищены классом конфигурации безопасности по умолчаниюSecurityAutoConfiguration
Это вызывает всплывающее окно браузера для запроса учетных данных.
Изменения пароля для каждого приложения перезапускаются и могут быть найдены в консоли.
Чтобы добавить свой собственный уровень безопасности приложения перед настройками по умолчанию,
или если вы просто хотите сменить пароль, вы можете переопределить значение по умолчанию,
application.xml
security.user.password = новый_пароль
или
application.properties
источник
inMemoryAuthentication
вы скорее префикс вашего пароля с {noop}, когда вы получаете сообщение об ошибке:There is no PasswordEncoder mapped for the id “null”
При переопределении
в application.properties , вам не нужно
"
вокруг"username"
, просто использоватьusername
. Другой момент, вместо того, чтобы хранить необработанный пароль , зашифруйте его с помощью bcrypt / scrypt и сохраните какисточник
Если вы не можете найти пароль на основе других ответов, которые указывают на пароль по умолчанию, формулировка сообщения журнала в последних версиях изменилась на
источник
Вы также можете запросить у пользователя учетные данные и установить их динамически после запуска сервера (очень эффективно, когда вам нужно опубликовать решение в среде клиента):
(Май 2018) Обновление - это будет работать на весенней загрузке 2.x:
источник
Дополнение к принятому ответу -
Если пароль не отображается в журналах, включите журналы "org.springframework.boot.autoconfigure.security".
https://docs.spring.io/spring-boot/docs/1.4.0.RELEASE/reference/htmlsingle/#boot-features-security
источник
Когда я начал изучать Spring Security, я переопределил метод userDetailsService (), как показано ниже:
Таким образом, мы можем войти в приложение, используя вышеупомянутые кредиты. (например, admin / nimda)
Примечание: это мы не должны использовать в производстве.
источник
Попробуйте взять имя пользователя и пароль из приведенного ниже фрагмента кода в своем проекте и войти в систему и надеяться, что это сработает.
источник