私は、Liferay ポータル サーバーで Spring Portlet-MVC フレームワークと Velocity を使用するプロジェクトに取り組んでいます。いくつかのページについては、安全な接続で提供する必要があります。ポートレットにかなり慣れていないので、Action-Method にリンクしてそこからリダイレクトするという解決策を思いつきました。
@ActionMapping(params = "command=secureRedirect")
public void actionSecureRedirect(ActionRequest request, ActionResponse response) {
HttpServletRequest servletRequest = PortalUtil.getHttpServletRequest(request);
String absoluteUrl = servletRequest.getRequestURL().toString();
String[] urlComponents = StringUtils.split(absoluteUrl, '/');
StringBuffer redirectUrl = new StringBuffer("https://");
redirectUrl.append(urlComponents[1]);
redirectUrl.append("<specificPath>");
response.sendRedirect(redirectUrl.toString());
}
私の解決策はうまくいきますが、私にはあまりいいとは思えません。誰かがこれを行うための別のより透過的な方法を考えることができるかどうか疑問に思っていました (おそらく RenderMappings でインターセプターとアノテーションを使用しますか?)。
どんな提案でも大歓迎です!