Все оказалось потому, что был определен интерсептор для обработки запросов только для залогиненых юзеров, который подвязывался на DefaultAnnotationHandlerMapping .
Выгдялит все это счастье вот так:
Вот код интерсептора:
Выгдялит все это счастье вот так:
<beans xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemalocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config>
<context:component-scan base-package="com.playtech.portlet.bonus.bigpromotion">
<bean class="com.playtech.portal.common.spring.RequireLoggedInInterceptor" id="requireLoginInterceptor">
<bean class="com.playtech.portal.common.spring.PlaytechViewNameInterceptor" id="viewNameInterceptor">
<bean class="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="requireLoginInterceptor">
<ref bean="viewNameInterceptor">
</ref></ref></list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="viewResolver" p:prefix="/jsp/bigpromotion/" p:suffix=".jsp" p:viewclass="org.springframework.web.servlet.view.JstlView">
</bean></bean></bean></context:component-scan></context:annotation-config></beans>
Вот код интерсептора:
package com.playtech.portal.common.spring;
import com.playtech.portal.liferay.util.PlaytechUserHelper;
import com.playtech.portlet.PlaytechUser;
import org.springframework.web.portlet.handler.HandlerInterceptorAdapter;
import javax.portlet.*;
public class RequireLoggedInInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandleAction(ActionRequest request, ActionResponse response, Object handler) throws Exception {
return isLoggedIn(request);
}
@Override
public boolean preHandleRender(RenderRequest request, RenderResponse response, Object handler) throws Exception {
return isLoggedIn(request);
}
private boolean isLoggedIn(PortletRequest request) {
if (PortletMode.EDIT.equals(request.getPortletMode())) {
return PlaytechUserHelper.isLoggedIn(request);
} else {
return PlaytechUser.isLoggedIn(request);
}
}
}
Комментариев нет:
Отправить комментарий