import java.util.Locale;
import javax.security.auth.Subject;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
+import org.argeo.cms.auth.RemoteAuthRequest;
+import org.argeo.cms.auth.RemoteAuthSession;
import org.argeo.cms.internal.auth.CmsSessionImpl;
import org.osgi.service.useradmin.Authorization;
/** CMS session implementation in a web context. */
public class WebCmsSessionImpl extends CmsSessionImpl {
private static final long serialVersionUID = -5178883380637048025L;
- private HttpSession httpSession;
+ private RemoteAuthSession httpSession;
public WebCmsSessionImpl(Subject initialSubject, Authorization authorization, Locale locale,
- HttpServletRequest request) {
- super(initialSubject, authorization, locale, request.getSession(false).getId());
- httpSession = request.getSession(false);
+ RemoteAuthRequest request) {
+ super(initialSubject, authorization, locale, request.getSession().getId());
+ httpSession = request.getSession();
}
@Override
public boolean isValid() {
if (isClosed())
return false;
- try {// test http session
- httpSession.getCreationTime();
- return true;
- } catch (IllegalStateException ise) {
- return false;
- }
+ return httpSession.isValid();
}
- public static CmsSessionImpl getCmsSession(HttpServletRequest request) {
- return CmsSessionImpl.getByLocalId(request.getSession(false).getId());
+ public static CmsSessionImpl getCmsSession(RemoteAuthRequest request) {
+ return CmsSessionImpl.getByLocalId(request.getSession().getId());
}
}