阔叶商业演示网站登录链接被重定向

Posted

技术标签:

【中文标题】阔叶商业演示网站登录链接被重定向【英文标题】:broadleaf commerce demo site login link gets redirected 【发布时间】:2014-06-05 04:11:57 【问题描述】:

我已将 Broadleaf 演示站点配置为直接从 eclipse 使用 tomcat 服务器运行(而不是通过使用 ant 任务)。我试图访问登录、注册和购物车页面,但链接被重定向。由于在 tomcat 的演示站点中,登录页面必须位于 /mycompany/login,当我单击登录链接时,我会被重定向到 /mycompany/mycompany/login。

我尝试直接点击网址http://localhost:8181/mycompany/login,但它也被重定向/更改为http://localhost:8181/mycompany/mycompany/login。同样的问题在点击注册和购物车链接时也会重复。

在 LoginController 中,我可以看到请求映射为“@RequestMapping("/mycompany/login")”。

在日志中,我可以看到“在名为 'mycompany' 的 DispatcherServlet 中找不到带有 URI [/mycompany/mycompany/login] 的 HTTP 请求的映射”,这是真的,因为我们没有此 url 的映射。

任何指向我可以查找错误的位置的指针。

【问题讨论】:

【参考方案1】:

我假设您实际上看到它重定向到 https://localhost:8081(而不是 8181http)。

这些 URL 在applicationContext-security.xml 中被特别标记为需要 SSL:

<sec:intercept-url pattern="/register*" requires-channel="https" />
<sec:intercept-url pattern="/login*/**" requires-channel="https" />
<sec:intercept-url pattern="/account/**" access="ROLE_USER" requires-channel="https" />
<sec:intercept-url pattern="/checkout/**" requires-channel="https" />
<sec:intercept-url pattern="/null-checkout/**" requires-channel="https" />
<sec:intercept-url pattern="/null-giftcard/**" requires-channel="https" />
<sec:intercept-url pattern="/confirmation/**" requires-channel="https" />

如果您将它们注释掉(或删除它们),那么您将不再看到重定向。另一种方法是只在您的 Tomcat 实例上配置 SSL。

此外,您在LoginController 中提到的@RequestMapping 应该只是@RequestMapping("/login")。由于 Spring URL 忽略它,因此无需包含其中的 /mycompany 部分(我假设是 Tomcat 上下文)。

【讨论】:

瞧!!!感谢您的信息。我通过删除 requires-channel 属性使其工作。将尝试在 tomcat 上配置 SSL 连接器,因为这对我来说是新事物。也不确定我是否可以在像 mochahost 这样的网络托管服务器上配置 SSL 连接器!!! 我可以确认我看不到https://localhost:8081http://localhost:8181 嗨:phillipuniverse 你能帮忙解答这个问题吗? ***.com/questions/29077389/…

以上是关于阔叶商业演示网站登录链接被重定向的主要内容,如果未能解决你的问题,请参考以下文章

登录后的预期 URL 重定向 + 默认重定向?

重定向页面加载前未登录的用户

laravel - 登录重定向丢失 url 哈希

如何将角度应用程序从keycloak登录重定向到特定路线

无法在不重定向的情况下创建付款发票

自定义的paypal登录过程