diff --git a/src/main/java/org/caosdb/server/accessControl/UserSources.java b/src/main/java/org/caosdb/server/accessControl/UserSources.java index 63254c1b5f60376f243878570a3625f5e72ec7a1..b169849b4ec910d998e6e4184a195ef804c2a9f8 100644 --- a/src/main/java/org/caosdb/server/accessControl/UserSources.java +++ b/src/main/java/org/caosdb/server/accessControl/UserSources.java @@ -282,6 +282,10 @@ public class UserSources extends HashMap<String, UserSource> { return false; } + /** + * Log the current time as the user's last visit. + * + */ public static void logUserVisit(String realm, String username, String type) { try { LogUserVisitTransaction t = diff --git a/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java index 3c18356f0cf097488e5e98c4626c34fd66917119..38c253e2e76075c83a7874d581f8b97d25a382f5 100644 --- a/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java +++ b/src/main/java/org/caosdb/server/database/backend/interfaces/LogUserVisitImpl.java @@ -21,5 +21,6 @@ package org.caosdb.server.database.backend.interfaces; public interface LogUserVisitImpl extends BackendTransactionImpl { + /** Return true if this is not the first visit of this user. */ boolean logUserReturnIsKnown(long timestamp, String realm, String username, String type); } diff --git a/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java b/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java index 1baf05ff4a6d584c47fc60f8e5be7898df99bc99..0079af6f25bfcc6f9471786d17f821e66fcd3c2b 100644 --- a/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java +++ b/src/main/java/org/caosdb/server/grpc/AccessControlManagementServiceImpl.java @@ -288,6 +288,7 @@ public class AccessControlManagementServiceImpl extends AccessControlManagementS .build(); } + /** What can be done with this role. */ private Iterable<? extends RoleCapabilities> getRoleCapabilities(Role role) { List<RoleCapabilities> result = new LinkedList<>(); if (org.caosdb.server.permissions.Role.ADMINISTRATION.toString().equals(role.name)) { @@ -304,6 +305,7 @@ public class AccessControlManagementServiceImpl extends AccessControlManagementS return result; } + /** The permissions of the current user w.r.t. this role. */ private Iterable<? extends RolePermissions> getRolePermissions(Role role) { List<RolePermissions> result = new LinkedList<>(); Subject current_user = SecurityUtils.getSubject(); diff --git a/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java index 41322b5173c3d3d1e13a69a589ae71e145932809..1fca0525f0e82e60c7124dc541ec0e0c09dabf71 100644 --- a/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java +++ b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java @@ -43,6 +43,9 @@ import org.caosdb.server.utils.ServerMessages; import org.caosdb.server.utils.Utils; import org.jdom2.Element; +/** + * This transaction also checks if the current user has sufficient permissions to make the update. + */ public class UpdateUserTransaction extends AccessControlTransaction { private final String password;