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. */
UUID getUuid();
String getUserRole();
-
- LdapName getUserDn();
+
+ String getUserDn();
String getLocalId();
String getDisplayName();
// Authorization getAuthorization();
-
+
Subject getSubject();
boolean isAnonymous();
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();
+ }
}