我们正在迁移到Hybry6.5,在尝试登录到storefront时,我们被重定向到路径https://urreab2b.local:9002/urreab2bstorefront/urreab2b/es/USD/null而不是https://urreab2b.local:9002/urreab2bstorefront/urreab2b/es/USD/j_spring_security_check。
由于这个原因,我们得到了一个错误消息[hybrisHTTP3] [PageNotFound] Request method 'POST' not supported,这是有意义的,因为storefront中的登录页面没有映射到null。
我们签入login.jsp,loginActionUrl的值设置如下:
<%@ page trimDirectiveWhitespaces="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sptemplate" tagdir="/WEB-INF/tags/addons/secureportaladdon/desktop/sptemplate" %>
<%@ taglib prefix="spuser" tagdir="/WEB-INF/tags/addons/secureportaladdon/desktop/spuser" %>
<%@ taglib prefix="cms" uri="http://hybris.com/tld/cmstags" %>
<%@ taglib prefix="common" tagdir="/WEB-INF/tags/desktop/common" %>
<sptemplate:page pageTitle="${pageTitle}">
<div id="globalMessages">
<common:globalMessages/>
</div>
<div class="span-24 last login_container">
<div class="span-9 last login-panel">
<c:url value="/j_spring_security_check" var="loginActionUrl"/>
<spuser:login actionNameKey="login.login" action="${loginActionUrl}"/>
</div>
</div>
</sptemplate:page>但是,每当我们在storefront中打开登录页面时,登录表单的action值都被设置为null:

我们不明白为什么登录操作url的值会被覆盖,也不知道谁对此负责,我们甚至尝试将login.tag中的操作直接修改为/j_spring_security_check,但即使直接修改标记也不能阻止操作被设置为空。
我们尝试的另一件事是使用Chrome开发人员控制台修改操作值,虽然我们被重定向到URL https://urreab2b.local:9002/urreab2bstorefront/urreab2b/es/USD/j_spring_security_check,但只有这样我们才能正确地重定向。
我们在JSP上输出了action的值,它的值是/urreab2bstorefront/urreab2b/es/USD/j_spring_security_check,所以值正确地到达了JSP,但是表单没有接受它。
编辑
我在lib文件夹中发现了一个名为spring-security-taglibs-3.1.1.RELEASE的库,我删除了它,这样它就可以从pom.xml中获取最新版本,由于使用了不推荐的属性ifAnyGranted的标签库而获得了JasperException,所以我用推荐的属性替换了它们,这消除了异常,但表单的操作属性仍然被指定为null。
有谁知道可能是什么原因吗?它是与Spring相关的东西,还是与Hybris配置相关的东西,还是其他东西?
发布于 2018-02-23 01:46:35
我想这可能与spring的安全问题有关。您能帮我配置一下安全xml吗
发布于 2018-02-23 13:22:44
您似乎正在使用secureportaladdon,但它未正确安装到您的店面。请先验证您的插件是否已正确安装。Addon应覆盖登录功能。
您显示的html代码似乎不是来自secureportaladdon,而是来自其他地方。
在此处检查插件安装步骤https://help.hybris.com/6.6.0/hcd/8adf7365866910149ceb975f778d809d.html
或
https://help.hybris.com/6.6.0/hcd/8aeddd34866910149de2d448ff18df98.html
https://stackoverflow.com/questions/48933670
复制相似问题