阔叶商业演示网站登录链接被重定向
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
(而不是 8181 和 http)。
这些 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:8081
但http://localhost:8181
。
嗨:phillipuniverse 你能帮忙解答这个问题吗? ***.com/questions/29077389/…以上是关于阔叶商业演示网站登录链接被重定向的主要内容,如果未能解决你的问题,请参考以下文章