]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java
Introduce system roles
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / http / WebCmsSessionImpl.java
index 06ff57355d0b92ac3b42bb14acc514d163b45492..4b4a77641ce6a3c0d11adbb26da85e55fac7c740 100644 (file)
@@ -1,22 +1,30 @@
 package org.argeo.cms.internal.http;
 
+import java.util.Locale;
+import java.util.UUID;
+
 import javax.security.auth.Subject;
-import javax.servlet.http.HttpServletRequest;
 
-import org.argeo.cms.auth.CmsSession;
+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 RemoteAuthSession httpSession;
 
-       public WebCmsSessionImpl(Subject initialSubject, Authorization authorization, String httpSessionId) {
-               super(initialSubject, authorization, httpSessionId);
+       public WebCmsSessionImpl(UUID uuid, Subject initialSubject, Authorization authorization, Locale locale,
+                       RemoteAuthRequest request) {
+               super(uuid, initialSubject, authorization, locale, request.getSession().getId());
+               httpSession = request.getSession();
        }
 
-       public static CmsSession getCmsSession(HttpServletRequest request) {
-//             CmsSession cmsSession = (CmsSession) request.getAttribute(CmsSession.class.getName());
-//             if (cmsSession != null)
-//                     return cmsSession;
-               return CmsSessionImpl.getByLocalId(request.getSession().getId());
+       @Override
+       public boolean isValid() {
+               if (isClosed())
+                       return false;
+               return httpSession.isValid();
        }
 }