Я работаю над проектом, который использует структуру Spring Portlet-MVC и Velocity на сервере портала Liferay. Для нескольких страниц у нас есть требование обслуживать их в безопасном соединении. Будучи совершенно новым для Портлетов, я придумал решение связать с Action-Method и перенаправлять оттуда.Перенаправление протокола на RenderRequest
@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?).
Любые предложения будут очень благодарны!