首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用Tomcat启动Spring时,用户名和密码是什么?

在使用Tomcat启动Spring时,用户名和密码是什么?
EN

Stack Overflow用户
提问于 2016-05-17 19:46:01
回答 10查看 274K关注 0票数 182

当我通过Spring部署Spring应用程序并访问localhost:8080时,我必须进行身份验证,但是用户名和密码是什么,或者如何设置呢?我试图将它添加到我的tomcat-users文件中,但是它没有工作:

代码语言:javascript
运行
复制
<role rolename="manager-gui"/>
    <user username="admin" password="admin" roles="manager-gui"/>

这是应用程序的起点:

代码语言:javascript
运行
复制
@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的依赖性:

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

如何在localhost:8080上进行身份验证

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2016-05-18 01:36:34

我认为类路径上有Security,然后Spring安全性自动配置为默认用户和生成的密码

请查看您的pom.xml文件,以便:

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

如果您的pom中有这样的内容,那么您应该有这样的日志控制台消息:

Using default security password: ce6c3d39-8f20-4a41-8e01-803166bb99b6

在浏览器提示符中,您将导入控制台中打印的用户user和密码。

或者,如果您想配置spring安全性,可以查看Spring Boot secured example

Security部分的Spring参考文档中对此进行了解释,它指出:

代码语言:javascript
运行
复制
The default AuthenticationManager has a single user (‘user’ username and random password, printed at `INFO` level when the application starts up)

Using default security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35
票数 358
EN

Stack Overflow用户

发布于 2017-10-06 13:11:28

如果在类路径中添加了spring-security jars,如果它是spring-boot应用程序,所有http端点都将在默认情况下受到安全配置类SecurityAutoConfiguration的保护。

这会导致浏览器弹出请求凭据。

每个应用程序的密码更改都会重新启动,可以在控制台中找到。

代码语言:javascript
运行
复制
Using default security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35

若要在缺省值前面添加您自己的应用程序安全性层,

代码语言:javascript
运行
复制
@EnableWebSecurity
public class SecurityConfig {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("user").password("password").roles("USER");
    }
}

或者,如果您只想更改密码,您可以重写默认设置,

application.xml

security.user.password=new_password

application.properties

代码语言:javascript
运行
复制
spring.security.user.name=<>
spring.security.user.password=<>
票数 61
EN

Stack Overflow用户

发布于 2019-07-20 11:57:06

重写时

代码语言:javascript
运行
复制
spring.security.user.name=
spring.security.user.password=

application.properties,中,您不需要"绕过"username",只需使用username即可。另一点,与其存储原始密码,不如用bcrypt/scrypt加密它,并将其存储为

代码语言:javascript
运行
复制
spring.security.user.password={bcrypt}encryptedPassword
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37285016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档