Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Spring安全Https错误端口_Jsf_Spring Security - Fatal编程技术网

Jsf Spring安全Https错误端口

Jsf Spring安全Https错误端口,jsf,spring-security,Jsf,Spring Security,当我在我的站点上使用https登录页面时,spring security forward使用了错误的端口: 我的登录bean执行以下操作: ExternalContext ec = context.getExternalContext(); String encodedURL = ec.encodeResourceURL(ec.getRequestContextPath() + "/j_spring_security_check?j_username=" + userId

当我在我的站点上使用https登录页面时,spring security forward使用了错误的端口:

我的登录bean执行以下操作:

    ExternalContext ec = context.getExternalContext();


    String encodedURL = ec.encodeResourceURL(ec.getRequestContextPath() + "/j_spring_security_check?j_username=" + userId + "&j_password=" + password + "&_spring_security_remember_me=" + rememberMe );
    logger.info(encodedURL);
    ec.redirect(encodedURL);
还尝试:

ExternalContext context = FacesContext.getCurrentInstance()
            .getExternalContext();

    RequestDispatcher dispatcher = ((ServletRequest) context.getRequest())
            .getRequestDispatcher("/j_spring_security_check");

    dispatcher.forward((ServletRequest) context.getRequest(),
            (ServletResponse) context.getResponse());

    FacesContext.getCurrentInstance().responseComplete();
    // It's OK to return null here because Faces is just going to exit.
    return null;
Server.xml:

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
            redirectPort="443" />

<Connector port="443" protocol="HTTP/1.1" scheme="https" secure="true"/>


不确定为什么使用了错误的端口…

您需要在名称空间配置中配置SSL/HTTPS端口,如下所示:

<security:port-mappings>
    <security:port-mapping http="8090" https="8443"/>
    <security:port-mapping http="8080" https="8443"/>
</security:port-mappings>

更改为
而且它工作了

我做到了……HTTPS和HTTP工作得很好。它只是登录到j_spring_security_check的页面,但似乎不起作用……出于某种原因,它似乎试图重定向到端口80上的HTTPS页面。