Improve integration of authentication.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / CmsSession.java
index 14d6d71f655b54c9a23bc9fd55e1bf0761cbb885..0785430205ca6a683654548c556582b9824a5cee 100644 (file)
@@ -1,32 +1,44 @@
 package org.argeo.cms.auth;
 
+import java.time.ZonedDateTime;
+import java.util.Locale;
 import java.util.UUID;
 
-import javax.jcr.Repository;
-import javax.jcr.Session;
 import javax.naming.ldap.LdapName;
 
 import org.argeo.naming.LdapAttrs;
 import org.osgi.service.useradmin.Authorization;
 
+/** An authenticated user session. */
 public interface CmsSession {
-       public final static String USER_DN = LdapAttrs.DN;
-       public final static String SESSION_UUID = LdapAttrs.entryUUID.name();
-       public final static String SESSION_LOCAL_ID = LdapAttrs.uniqueIdentifier.name();
+       final static String USER_DN = LdapAttrs.DN;
+       final static String SESSION_UUID = LdapAttrs.entryUUID.name();
+       final static String SESSION_LOCAL_ID = LdapAttrs.uniqueIdentifier.name();
 
        // public String getId();
 
-       public UUID getUuid();
+       UUID getUuid();
 
-       public LdapName getUserDn();
+       LdapName getUserDn();
 
-       public String getLocalId();
+       String getLocalId();
 
-       public Authorization getAuthorization();
+       Authorization getAuthorization();
 
-       public Session getDataSession(String cn, String workspace, Repository repository);
+       boolean isAnonymous();
 
-       public void releaseDataSession(String cn, Session session);
+       ZonedDateTime getCreationTime();
+
+       ZonedDateTime getEnd();
+
+       Locale getLocale();
+
+       boolean isValid();
+
+       // public Session getDataSession(String cn, String workspace, Repository
+       // repository);
+       //
+       // public void releaseDataSession(String cn, Session session);
 
        // public void addHttpSession(HttpServletRequest request);