首页 > 解决方案 > 为什么在尝试通过 Spring Boot Security 生成的默认用户名“用户”和安全密码登录时出现白标签错误页面?

问题描述

我一直在尝试通过 Spring Boot Security 提供的默认登录名登录我的应用程序,但在输入正确的凭据后我收到以下错误消息:

“此应用程序没有明确的 /error 映射,因此您将其视为后备。”

这是我的 Pom.xml:

4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.0 com.pma Project-Management-Application 0.0.1-SNAPSHOT Project-Management-Application 项目管理应用

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这是安全日志:

2020-12-18 15:41:27.518  INFO 12460 --- [  restartedMain] com.pma.ProjectManagementApplication     : Starting ProjectManagementApplication using Java 15 on DESKTOP-K6PLQI6 with PID 12460 (C:\Users\RaviKiranKrovvidi\Documents\workspace-spring-tool-suite-4-4.8.1.RELEASE\Project-Management-Application\target\classes started by RaviKiranKrovvidi in C:\Users\RaviKiranKrovvidi\Documents\workspace-spring-tool-suite-4-4.8.1.RELEASE\Project-Management-Application)
2020-12-18 15:41:27.522 DEBUG 12460 --- [  restartedMain] com.pma.ProjectManagementApplication     : Running with Spring Boot v2.4.0, Spring v5.3.1
2020-12-18 15:41:27.523  INFO 12460 --- [  restartedMain] com.pma.ProjectManagementApplication     : The following profiles are active: dev
2020-12-18 15:41:27.596  INFO 12460 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2020-12-18 15:41:27.596  INFO 12460 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2020-12-18 15:41:28.852  INFO 12460 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2020-12-18 15:41:28.924  INFO 12460 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 61 ms. Found 2 JPA repository interfaces.
2020-12-18 15:41:29.731  INFO 12460 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-12-18 15:41:29.926  INFO 12460 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2329 ms
2020-12-18 15:41:30.485  INFO 12460 --- [  restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:mysql://localhost:3306/pma_springbootdb'
2020-12-18 15:41:30.811  INFO 12460 --- [  restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-12-18 15:41:31.149  WARN 12460 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-12-18 15:41:31.998  INFO 12460 --- [  restartedMain] .s.s.UserDetailsServiceAutoConfiguration : 

Using generated security password: d0a18f3e-7ebf-483c-b3e1-eb5248836d76

2020-12-18 15:41:32.290 DEBUG 12460 --- [  restartedMain] edFilterInvocationSecurityMetadataSource : Adding web access control expression [authenticated] for any request
2020-12-18 15:41:32.354  INFO 12460 --- [  restartedMain] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@35a4d566, org.springframework.security.web.context.SecurityContextPersistenceFilter@72cafdb2, org.springframework.security.web.header.HeaderWriterFilter@716a21b0, org.springframework.security.web.csrf.CsrfFilter@6f94b191, org.springframework.security.web.authentication.logout.LogoutFilter@52486c35, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@5cd6385c, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@250bb4ff, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@2a7a8ca7, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@6fc788ed, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7380a413, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@19fe6101, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7929e9e5, org.springframework.security.web.session.SessionManagementFilter@7ea5da27, org.springframework.security.web.access.ExceptionTranslationFilter@290ebb3a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@a638441]
2020-12-18 15:41:32.518  INFO 12460 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2020-12-18 15:41:32.649  INFO 12460 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-12-18 15:41:32.654  INFO 12460 --- [  restartedMain] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2020-12-18 15:41:33.618  INFO 12460 --- [         task-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-12-18 15:41:33.986  INFO 12460 --- [  restartedMain] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2020-12-18 15:41:33.999  INFO 12460 --- [  restartedMain] com.pma.ProjectManagementApplication     : Started ProjectManagementApplication in 7.018 seconds (JVM running for 8.606)
2020-12-18 15:43:26.881  INFO 12460 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-12-18 15:43:26.883  INFO 12460 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2020-12-18 15:43:26.895 DEBUG 12460 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy        : Securing GET /login
2020-12-18 15:43:26.899 DEBUG 12460 --- [nio-8080-exec-1] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext
2020-12-18 15:43:27.026 DEBUG 12460 --- [nio-8080-exec-1] w.c.HttpSessionSecurityContextRepository : Did not store empty SecurityContext
2020-12-18 15:43:27.029 DEBUG 12460 --- [nio-8080-exec-1] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
2020-12-18 15:43:28.245 DEBUG 12460 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy        : Securing GET /login
2020-12-18 15:43:28.246 DEBUG 12460 --- [nio-8080-exec-2] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext
2020-12-18 15:43:28.247 DEBUG 12460 --- [nio-8080-exec-2] w.c.HttpSessionSecurityContextRepository : Did not store empty SecurityContext
2020-12-18 15:43:28.247 DEBUG 12460 --- [nio-8080-exec-2] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
2020-12-18 15:43:32.406 DEBUG 12460 --- [nio-8080-exec-3] o.s.security.web.FilterChainProxy        : Securing POST /login
2020-12-18 15:43:32.407 DEBUG 12460 --- [nio-8080-exec-3] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to empty SecurityContext
2020-12-18 15:43:32.656 DEBUG 12460 --- [nio-8080-exec-3] o.s.s.a.dao.DaoAuthenticationProvider    : Authenticated user
2020-12-18 15:43:32.658 DEBUG 12460 --- [nio-8080-exec-3] .s.ChangeSessionIdAuthenticationStrategy : Changed session id from 98920E20F226D1EB6BF133DBECF0E72E
2020-12-18 15:43:32.658 DEBUG 12460 --- [nio-8080-exec-3] o.s.s.w.csrf.CsrfAuthenticationStrategy  : Replaced CSRF Token
2020-12-18 15:43:32.659 DEBUG 12460 --- [nio-8080-exec-3] w.a.UsernamePasswordAuthenticationFilter : Set SecurityContextHolder to UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]
2020-12-18 15:43:32.660 DEBUG 12460 --- [nio-8080-exec-3] o.s.s.web.DefaultRedirectStrategy        : Redirecting to /
2020-12-18 15:43:32.661 DEBUG 12460 --- [nio-8080-exec-3] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]] to HttpSession [org.apache.catalina.session.StandardSessionFacade@6bd7f0d3]
2020-12-18 15:43:32.661 DEBUG 12460 --- [nio-8080-exec-3] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
2020-12-18 15:43:32.667 DEBUG 12460 --- [nio-8080-exec-4] o.s.security.web.FilterChainProxy        : Securing GET /
2020-12-18 15:43:32.668 DEBUG 12460 --- [nio-8080-exec-4] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]]
2020-12-18 15:43:32.668 DEBUG 12460 --- [nio-8080-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]]
2020-12-18 15:43:32.676 DEBUG 12460 --- [nio-8080-exec-4] o.s.s.w.a.i.FilterSecurityInterceptor    : Authorized filter invocation [GET /] with attributes [authenticated]
2020-12-18 15:43:32.677 DEBUG 12460 --- [nio-8080-exec-4] o.s.security.web.FilterChainProxy        : Secured GET /
2020-12-18 15:43:32.689 DEBUG 12460 --- [nio-8080-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request
2020-12-18 15:43:32.691 DEBUG 12460 --- [nio-8080-exec-4] o.s.security.web.FilterChainProxy        : Securing GET /error
2020-12-18 15:43:32.691 DEBUG 12460 --- [nio-8080-exec-4] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]]
2020-12-18 15:43:32.692 DEBUG 12460 --- [nio-8080-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Set SecurityContextHolder to SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=98920E20F226D1EB6BF133DBECF0E72E], Granted Authorities=[]]]
2020-12-18 15:43:32.692 DEBUG 12460 --- [nio-8080-exec-4] o.s.security.web.FilterChainProxy        : Secured GET /error
2020-12-18 15:43:32.737 DEBUG 12460 --- [nio-8080-exec-4] s.s.w.c.SecurityContextPersistenceFilter : Cleared SecurityContextHolder to complete request

标签: spring-bootspring-security

解决方案


推荐阅读