店面登录页面重定向到具有空值而不是j_spring_security_check

时间:2018-02-22 17:24:03

标签: spring login spring-security hybris storefront

我们正在迁移到Hybris 6.5,在尝试登录店面时,我们被重定向到路径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,这是有道理的,因为店面中的登录页面未映射为null。

我们签入了login.jsploginActionUrl的值设置如下:

<%@ 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>

但每当我们在店面中打开登录页面时,登录表单的操作值就会设置为null:

enter image description here

我们不明白为什么登录操作网址的值被覆盖,以及谁对此负责,我们甚至试图直接将login.tag中的操作修改为/j_spring_security_check,但甚至修改了tag直接不会阻止操作被设置为null。

我们尝试的另一件事是使用Chrome Developer Console修改操作值,虽然我们被重定向到网址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中获取最新版本,由于标签库使用了deprecated属性而获得了JasperException ifAnyGranted所以我用推荐的替换它们,摆脱了异常,但表单仍然在其action属性上被赋值为null。

有谁知道原因可能是什么?它是与Spring相关的东西还是与Hybris配置或其他相关的东西?

2 个答案:

答案 0 :(得分:0)

我猜这与弹簧安全问题有关。你能不能请安全xml配置

答案 1 :(得分:0)

您似乎正在使用secureportaladdon但未正确安装到店面。首先验证您的插件是否正确安装。 Addon应该覆盖登录功能。

你所展示的html代码似乎不是来自secureportaladdon,而是来自其他地方。

在此处检查插件安装步骤 https://help.hybris.com/6.6.0/hcd/8adf7365866910149ceb975f778d809d.html

OR

https://help.hybris.com/6.6.0/hcd/8aeddd34866910149de2d448ff18df98.html