Improve ACR, introduce migration from JCR.
[lgpl/argeo-commons.git] / org.argeo.api.cms / src / org / argeo / api / cms / CmsSession.java
index 18d53cee88a1daa2ba2c391ad1034ab5b022eadc..dda1dac1f7fa118ae4247b93e21bf7963c11e689 100644 (file)
@@ -3,8 +3,8 @@ package org.argeo.api.cms;
 import java.time.ZonedDateTime;
 import java.util.Locale;
 import java.util.UUID;
+import java.util.function.Consumer;
 
-import javax.naming.ldap.LdapName;
 import javax.security.auth.Subject;
 
 /** An authenticated user session. */
@@ -16,14 +16,14 @@ public interface CmsSession {
        UUID getUuid();
 
        String getUserRole();
-       
-       LdapName getUserDn();
+
+       String getUserDn();
 
        String getLocalId();
 
        String getDisplayName();
 //     Authorization getAuthorization();
-       
+
        Subject getSubject();
 
        boolean isAnonymous();
@@ -37,4 +37,10 @@ public interface CmsSession {
        boolean isValid();
 
        void registerView(String uid, Object view);
+
+       void addOnCloseCallback(Consumer<CmsSession> onClose);
+
+       public static boolean hasCmsSession(Subject subject) {
+               return !subject.getPrivateCredentials(CmsSessionId.class).isEmpty();
+       }
 }