]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/auth/RemoteCmsSessionImpl.java
Releasing
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / auth / RemoteCmsSessionImpl.java
1 package org.argeo.cms.internal.auth;
2
3 import java.util.Locale;
4 import java.util.UUID;
5
6 import javax.security.auth.Subject;
7
8 import org.argeo.cms.auth.RemoteAuthRequest;
9 import org.argeo.cms.auth.RemoteAuthSession;
10 import org.osgi.service.useradmin.Authorization;
11
12 /** CMS session implementation in a web context. */
13 public class RemoteCmsSessionImpl extends CmsSessionImpl {
14 private static final long serialVersionUID = -5178883380637048025L;
15 private RemoteAuthSession httpSession;
16
17 public RemoteCmsSessionImpl(UUID uuid, Subject initialSubject, Authorization authorization, Locale locale,
18 RemoteAuthRequest request) {
19 super(uuid, initialSubject, authorization, locale,
20 request.getSession() != null ? request.getSession().getId() : null);
21 httpSession = request.getSession();
22 }
23
24 @Override
25 public boolean isValid() {
26 if (isClosed())
27 return false;
28 if (httpSession == null)
29 return true;
30 return httpSession.isValid();
31 }
32 }