X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fhttp%2FWebCmsSessionImpl.java;h=03fb82faac46d1c204855e01ea43730ad8bb05af;hb=7064547ae5d85225546f1b8f15d6b5c82f30fe22;hp=06ff57355d0b92ac3b42bb14acc514d163b45492;hpb=7864616a19aefc440239c1c8854c6b3969be7af0;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java b/org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java index 06ff57355..03fb82faa 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java @@ -1,22 +1,33 @@ package org.argeo.cms.internal.http; +import java.util.Locale; + import javax.security.auth.Subject; -import javax.servlet.http.HttpServletRequest; -import org.argeo.cms.auth.CmsSession; +import org.argeo.cms.auth.HttpRequest; +import org.argeo.cms.auth.HttpSession; 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; + + public WebCmsSessionImpl(Subject initialSubject, Authorization authorization, Locale locale, + HttpRequest request) { + super(initialSubject, authorization, locale, request.getSession().getId()); + httpSession = request.getSession(); + } - public WebCmsSessionImpl(Subject initialSubject, Authorization authorization, String httpSessionId) { - super(initialSubject, authorization, httpSessionId); + @Override + public boolean isValid() { + if (isClosed()) + return false; + return httpSession.isValid(); } - public static CmsSession getCmsSession(HttpServletRequest request) { -// CmsSession cmsSession = (CmsSession) request.getAttribute(CmsSession.class.getName()); -// if (cmsSession != null) -// return cmsSession; + public static CmsSessionImpl getCmsSession(HttpRequest request) { return CmsSessionImpl.getByLocalId(request.getSession().getId()); } }