0

フォーム アクションの URL を作成する必要がありますがhttps、HTTPS の 9002 ポートで現在実行されている基本システムの下でフォームを送信する必要があります。JSP ページで次のオプションを使用できません。

<form:form action="${request.contextPath}/springSecurity/login"
method="post" commandName="loginForm" target="guestFrame"> 

HTTP の場合、コンテキスト パスは HTTP として送信され、HTTPS によってフォームを送信する必要があるため、システムは例外をスローします。ホスト名がlocalhost.

HTTPSでフォームを送信できるように、JSTLまたはその他の方法を使用してJSPでURLを作成する方法はありますか

4

1 に答える 1

1

HttpServletRequest.getServerName()サーバー名を与えます。ただし、httpsポートを取得する方法はありません。443アプローチで修正する場合は、デフォルトを使用する必要があります。

しかし、適切な解決策は、サーバーがページをSecurity Transport Guarantee自動的に にリダイレクトするように、ログイン URL にを使用することです。springSecurity/loginhttps

このエントリを に追加すると、web.xmlが に自動的にリダイレクトさspringSecurity/loginhttpsます。

<security-constraint>
    <web-resource-collection>
        <web-resource-name>secure</web-resource-name>
        <url-pattern>/springSecurity/login</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>
于 2012-06-20T08:19:52.863 に答える