当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Web Thymeleaf:Spring IO Guide中用于“保护Web应用程序”的圆形视图路径

阮健
2023-03-14

我正在试用https://spring.io/guides/gs/securing-web/.提供的“保护Web应用程序”的Spring IO指南

该指南指示首先构建一个简单的不安全Web应用程序,然后使用Spring Security保护它。但是,在使用Spring Boot 2.0.1. RELEASE版本构建不安全的Web应用程序后,我在尝试访问Web应用程序的URL(http://localhost:9191/hello)时收到以下错误:

2018-05-04 09:58:07.742 ERROR 25968 --- [nio-9191-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [hello]: would dispatch back to the current handler URL [/hello] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause    

javax.servlet.ServletException: Circular view path [hello]: would dispatch back to the current handler URL [/hello] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)    

我复制了上述URL中可用的代码(即。https://spring.io/guides/gs/securing-web/)我的嵌入式tomcat服务器运行在端口9191上(其他应用程序使用端口8080)。感谢您的帮助。提前感谢!

编辑:

以下是指南中的配置/控制器代码:

@Configuration
public class MvcConfig implements WebMvcConfigurer {

    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/home").setViewName("home");
        registry.addViewController("/").setViewName("home");
        registry.addViewController("/hello").setViewName("hello");
        registry.addViewController("/login").setViewName("login");
    }

}

共有2个答案

拓拔俊艾
2023-03-14

检查构建路径中的spring boot starter thymeleaf依存关系

龚振
2023-03-14

请在您的pom中添加对thymeleaf的依赖项。因为ViewResolver不存在以解决th:href="@{/hello}在您的hello.html中因此抛出错误:

在pom中添加以下依赖项。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

 类似资料:
  • 本文向大家介绍基于Spring Boot保护Web应用程序,包括了基于Spring Boot保护Web应用程序的使用技巧和注意事项,需要的朋友参考一下 如果在类路径上添加了Spring Boot Security依赖项,则Spring Boot应用程序会自动为所有HTTP端点提供基本身份验证。端点“/”和“/home”不需要任何身份验证。所有其他端点都需要身份验证。 要将Spring Boot S

  • 如果在类路径上添加了Spring Boot Security依赖项,则Spring Boot应用程序会自动要求对所有HTTP端点进行基本身份验证。 端点“/”和“/ home”不需要任何身份验证。 所有其他端点都需要身份验证。 要将Spring Boot Security添加到Spring Boot应用程序,我们需要在构建配置文件中添加Spring Boot Starter Security依赖项

  • 我的应用程序具有apache模块提供的CSRF保护。我的应用程序包含几个允许上载一些文件的页面,如下所示: 当我们将apache版本从httpd-2.2.3更新到httpd-2.2.15时,所有的工作都很好。 我谷歌了一段时间,发现这个问题可能与我表单中的multipart/form-data参数有关。在这种情况下,表单发送不安全。我还发现Spring可以通过Spring doc的处理如上所述的内

  • 我正在使用spring mvc,视图抛出500错误。在控制台上获取错误

  • 如何在客户端存储和保护私钥。 有什么方法可以保护JavaScript中的API密钥吗?。 我不能只是将它以纯文本形式放在那里,因为它可以被看到代码的其他人使用。那么,是否会有一个API保持秘密的实现呢?

  • 我有两个Spring Boot Web应用程序。两个应用程序都有不同的数据库和不同的用户集。此外,两个应用程序都使用Spring Security进行身份验证和授权,这可以正常工作。 在任何给定点上,我都将运行第一个应用程序的一个实例和第二个web应用程序的多个实例。 我想公开来自第一个Web应用程序(一个实例运行)的REST API,并能够使用来自第二个Web应用程序(多个实例运行)的REST