Class SessionRestController
java.lang.Object
sk.iway.iwcm.components.users.sessions.SessionRestController
@RestController
@PreAuthorize("@WebjetSecurityService.isAdmin()")
public class SessionRestController
extends Object
Session listing, personal login history and logout API for the active-session dialog.
-
Constructor Summary
ConstructorsConstructorDescriptionSessionRestController(SessionService service, AuditRepository auditRepository) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.data.domain.Page<AuditLogEntity>history(jakarta.servlet.http.HttpServletRequest request, int page) Reads login events from the last thirty days, deriving ownership, period and ordering on the server.invalidTarget(IllegalArgumentException exception) Reports invalid target selection as a bad request rather than a server failure.loggedAdministrators(jakarta.servlet.http.HttpServletRequest request) Returns fresh administrator summaries only to callers with the list permission.logoutAdministrator(int userId, jakarta.servlet.http.HttpServletRequest request) Ends another administrator's sessions; displaying the list does not grant this operation.logoutSession(String sessionId, jakarta.servlet.http.HttpServletRequest request) Ends another session of the current account without requiring administrator-management permission.
-
Constructor Details
-
SessionRestController
-
-
Method Details
-
loggedAdministrators
@GetMapping("/admin/rest/sessions/administrators") @PreAuthorize("@WebjetSecurityService.hasPermission(\'welcomeShowLoggedAdmins\')") public List<LoggedAdministratorDto> loggedAdministrators(jakarta.servlet.http.HttpServletRequest request) Returns fresh administrator summaries only to callers with the list permission. -
history
@GetMapping("/admin/rest/sessions/login-history") @PreAuthorize("@WebjetSecurityService.isLogged()") public org.springframework.data.domain.Page<AuditLogEntity> history(jakarta.servlet.http.HttpServletRequest request, @RequestParam(value="page",defaultValue="0") int page) Reads login events from the last thirty days, deriving ownership, period and ordering on the server. Available to signed-in administrators without requiring audit permission.- Parameters:
request- request containing the authenticated user's sessionpage- zero-based page, clamped to zero for negative values- Returns:
- up to twenty login audit records in descending creation order
- Throws:
org.springframework.security.access.AccessDeniedException- if no authenticated user is present
-
logoutSession
@PostMapping("/admin/rest/sessions/logout") public SessionLogoutResultDto logoutSession(@RequestParam("sessionId") String sessionId, jakarta.servlet.http.HttpServletRequest request) Ends another session of the current account without requiring administrator-management permission. -
logoutAdministrator
@PostMapping("/admin/rest/sessions/logout-administrator") @PreAuthorize("@WebjetSecurityService.hasPermission(\'users.edit_admins\')") public SessionLogoutResultDto logoutAdministrator(@RequestParam("userId") int userId, jakarta.servlet.http.HttpServletRequest request) Ends another administrator's sessions; displaying the list does not grant this operation. -
invalidTarget
@ExceptionHandler(java.lang.IllegalArgumentException.class) @ResponseStatus(BAD_REQUEST) public Map<String,String> invalidTarget(IllegalArgumentException exception) Reports invalid target selection as a bad request rather than a server failure.
-