为什么带有Spring Boot的Keycloak教程不起作用?

SOL*_*OLO 3 keycloak

我一直在尝试遵循DZone的Keycloak教程(编辑:这似乎是官方Keycloak博客上的教程,几乎是同一作者的逐字逐句转贴),但是我遇到了以下问题:

  • index.html 找不到

  • 单击内部页面的链接时,错误

    我们很抱歉...

    找不到网页

  • 在同一页面上,错误

    javax.servlet.ServletException:循环视图路径[products]:将再次分派回当前的处理程序URL [/ products]。

  • 出现Keycloak管理面板,而不是示例应用程序

我究竟做错了什么?

SOL*_*OLO 5

该教程中存在许多细微但重要的不一致/错别字。按出场顺序:

主教程

  1. 的位置index.html/src/resources/static。如果您使用的是Spring Initializr,则预制的代码将同时包含maintest目录src,因此正确的位置将是src/main/resources/static

  2. 在控制器代码中,第9行是

    return "products";
    
    Run Code Online (Sandbox Code Playgroud)

    这告诉Spring使用products.html。实际的HTML文件将是product单数形式,因为它是从生成的product.ftl。从返回值中减去“ s”。

  3. application.properties文件中,给出的行之一是

    keycloak.realm=springboot
    
    Run Code Online (Sandbox Code Playgroud)

    之前,在Keycloak管理面板中,该指南建议将领域命名为“ SpringBoot”。这些值需要匹配,并且区分大小写。换一个。

  4. 设置完成后,说明说

    现在浏览到“ http:// localhost:8080

    正确的网址是http://localhost:8081,因为server.port在中已将其设置为8081 application.properties。管理控制台仍应使用端口8080。

进行这些更改后,测试应用程序应按说明加载并运行。

增加Spring安全性

使用新方法进行复制时,请注意不要重新输入products/ product错字getProducts()