2011-06-20 18 views
1

私は自分のサイト上で春のセキュリティ前方に私のHTTPSのログイン・ページを使用して、間違ったポートを使用している:春のセキュリティHTTPS間違ったポート

https://www.mywebsite.com:80/j_spring_security_check?j_username=test&j_password=test&_spring_security_remember_me=false

マイログイン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を:

あなたはこのようなあなたの名前空間の設定であなたのSSL/HTTPSポートを設定する必要が
<Connector port="80" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="443" /> 

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

なぜそのが間違ったポートを使用してわからない...

答えて

1

<Connector port="443" proxyPort="443" protocol="HTTP/1.1" scheme="https" secure="true"/><Connector port="443" protocol="HTTP/1.1" scheme="https" secure="true"/>を変更し、それは働いた

2

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

私はこれをしました... HTTPSとHTTPは正常に動作します。そのj_spring_security_checkのログインページのポストはうまくいかないようです...何らかの理由でポート80のHTTPSページにリダイレクトしようとしているようです。 –

関連する問題