Admin User Login History - hmislk/hmis GitHub Wiki
Viewing User Login History
Overview
The Login History report shows a searchable, filterable record of every user login, including the department accessed, IP address, browser, and session duration. This report is essential for security audits, investigating unauthorised access, and understanding how the system is being used across shifts and departments.
When to Use
- Investigating a security concern or possible unauthorised access
- Verifying whether a specific user logged in during a period in question
- Auditing access across departments or institutions
- Checking whether a session was properly closed
Navigating to Login History
- Click Administration → Manage Users
- Navigate to the Login History page via the administration index
Required privilege: AdminManagingUsers
Generating the Report
- Enter the From Date using the date/time picker
- Enter the To Date using the date/time picker
- Optionally enter a Username to filter to one specific user
- Click Process (or press Enter)
- The table populates with matching records
To clear all filters and show the default view, click Reset.
Report Columns
| Column | Description |
|---|---|
| No | Row number |
| Username | Login name of the user |
| Name | Full name of the user |
| Code | User code |
| Institution | Institution logged in to |
| Department | Department logged in to |
| Login At | Date and time the session started |
| Logout At | Date and time the session ended (empty if session is still active) |
| IP Address | Network address of the device |
| Actions | Eye icon button to open the full User Dashboard for that user |
You can sort any column by clicking the column heading, and filter by Username, Name, Institution, or Department using the filter boxes.
Exporting the Report
Click Excel to download the current filtered view as an .xlsx spreadsheet.
Viewing a User's Full Dashboard
Click the eye icon (blue button) in the Actions column of any row to open the full User Dashboard Configuration for that user — showing their profile, all departments, full login history, and transaction history.
Printing the Report
Click Print (top right of the panel) to send the current report to the printer or PDF.
Technical Notes (Admin/Developer)
Login records are stored as Login entities. Each record captures logedAt, logoutAt, ipAddress, browser, operatingSystem, and the linked WebUser. The report queries are run by LoginController.fillLoginDtos(), which populates LoginDto objects for display. The navigateToUserDashboard(loginDto) action passes the user context to UserDashboardController.