gpt4 book ai didi

spring-boot - Spring Boot控制台密码

转载 作者:行者123 更新时间:2023-12-04 03:24:40 27 4
gpt4 key购买 nike

我使用 Spring Boot,我读到应该在日志文件或控制台打印默认值 - 但我的日志中没有任何内容。我使用 putty 进行连接并找到了连接,但我不知道凭据(密码)。有什么提示可以让它发挥作用吗?

[编辑]我还将此添加到我的 application.properties 文件的行中:

security.user.name=user
security.user.password=secret

但没有效果。

日志文件截图:

enter image description here

这些是我的依赖项:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.smartinnotec.accounting</groupId>
<artifactId>smartinnotec-accounting-frontend</artifactId>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.4</version>
</dependency>
</dependencies>

[编辑]

如果我删除了这两个注释,那么在开始时会打印出密码。我的问题是,我需要此类中定义的 Bean。其实我不知道该怎么办?是否可以启用网络安全并打印出密码?

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

private static final String[] restEndpointsToSecure;
@Autowired
private XAuthTokenConfigurer xAuthTokenConfigurer;

static {
restEndpointsToSecure = new String[7];
...
}

@Autowired(required = true)
private UserService userService;

public WebSecurityConfig() {
}

@Override
protected void configure(final HttpSecurity http) throws Exception {

final String[] restEndpointsToSecure = WebSecurityConfig.restEndpointsToSecure;
for (final String endpoint : restEndpointsToSecure) {
http.authorizeRequests().antMatchers("/" + endpoint + "/**").hasRole(UserRoleEnum.USER.toString());
}

http.csrf().disable();
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
http.addFilterAfter(csrfTokenResponseHeaderBindingFilter(), CsrfFilter.class);

xAuthTokenConfigurer.setDetailsService(userDetailsServiceBean());
final SecurityConfigurer<DefaultSecurityFilterChain, HttpSecurity> securityConfigurerAdapter = xAuthTokenConfigurer;
http.apply(securityConfigurerAdapter);
}

@Override
protected void configure(final AuthenticationManagerBuilder authManagerBuilder) throws Exception {
authManagerBuilder.userDetailsService(new CustomUserDetailsService(userService));
}

@Bean
public CsrfTokenResponseHeaderBindingFilter csrfTokenResponseHeaderBindingFilter() {
return new CsrfTokenResponseHeaderBindingFilter();
}

@Bean
@Override
public UserDetailsService userDetailsServiceBean() throws Exception {
return super.userDetailsServiceBean();
}

@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}

@Override
public String toString() {
return "[WebSecurityConfig]";
}
}

最佳答案

如果您将“Spring Security”添加到您的项目中,所有通过 HTTP 公开的敏感端点都将受到保护。默认情况下,“基本”身份验证将与用户名用户和生成的密码(应用程序启动时打印在控制台上)一起使用,就像

Using default security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35

然后你就可以用这个密码登录了。

但是你需要确保org.springframework.boot.autoconfigure.security类别设置为记录INFO消息,否则默认密码不会被打印。

或者您可以通过为用户名提供 security.user.name 和为密码提供 security.user.password 来更改密码,这样默认密码将不会被打印在控制台中。

关于spring-boot - Spring Boot控制台密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40083429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com