vezolabs / pimcore-login-tracker-bundle
Production-Ready Login Tracker Plugin for Pimcore 12 Studio with comprehensive activity monitoring, security insights, and export capabilities
Package info
github.com/vezolabs/login-tracker
Type:pimcore-bundle
pkg:composer/vezolabs/pimcore-login-tracker-bundle
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- pimcore/pimcore: ^2025.0 || ^2026.0
- pimcore/studio-backend-bundle: ^2025.0 || ^2026.0
- pimcore/studio-ui-bundle: ^2025.0 || ^2026.0
- symfony/security-bundle: ^6.4 || ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.0 || ^11.0 || ^12.0 || ^13.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
VezoLabs Login Tracker is an enterprise-grade security and authentication monitoring extension built for Pimcore 12 Studio. It enables administrators to monitor, analyze, and audit all backend authentication attempts in real time through an intuitive, non-technical Studio interface.
Technical administrators install the package once via Composer. From that point forward, all routine operations, dashboard analytics, audit inquiries, security alerts, and privacy configurations are handled directly through the Pimcore Studio UI (accessible via System → Login Tracker).
Screenshots & Interface
| Overview Dashboard | Login Activity Table |
|---|---|
| Security Insights & Anomaly Detection | Settings & Privacy Configuration |
| :---: | :---: |
Video Walkthrough
A video walkthrough covering installation, configuration, and practical usage will be linked here.
Key Features
- Real-Time Authentication Monitoring: Tracks both successful logins and failed attempts across Pimcore Studio authentication firewalls with non-blocking server-side event capture.
- Intuitive Studio UI: Built with React 18, TypeScript, and Module Federation. Natively integrated into Pimcore 12 Studio navigation with zero legacy ExtJS dependencies.
- Security Insights & Anomaly Detection: Transparent behavioral rules highlight repeated failed logins, credential stuffing patterns (repeated failures followed by a success), and high-risk client IP clusters.
- Per-User Login History: Quick-inspection modal showing last successful login, recent failed attempts, and complete chronological history for any selected user account.
- Privacy & Compliance: Configurable IP recording with optional subnet anonymization (masking the last octet of IPv4 and interface ID of IPv6) and role-based sensitive masking.
- Zero Credential Exposure: Passwords, 2FA tokens, session identifiers, and secret headers are strictly excluded from audit logs and failure reasons.
- Streaming CSV Export: Filter-aware, memory-efficient streaming CSV export equipped with spreadsheet formula injection protection (
=,+,-,@,\t,\r,%). - Automated Data Retention: Automatic log pruning via Pimcore's scheduled maintenance task (
Pimcore\Maintenance\TaskInterface) and Symfony console command (login-tracker:cleanup). - Granular Permissions: Role-based access control protecting dashboard viewing, sensitive data inspection, CSV exports, and settings management.
System Requirements & Compatibility
| Requirement | Supported Version |
|---|---|
| Pimcore | Pimcore 12 with Studio UI (^2025.0 or ^2026.0) |
| PHP | ^8.2, ^8.3, ^8.4, ^8.5 |
| Symfony | ^6.4, ^7.0, ^8.0 |
| Database | MariaDB 10.6+ or MySQL 8.0+ |
Legacy Pimcore Support & Customization
Need this functionality for an earlier Pimcore version, or require custom integrations?
- Pimcore 6, Pimcore 10, or Pimcore 11: Dedicated builds and backports tailored for classic Pimcore architectures.
- Custom Enterprise Integrations: Bespoke SIEM / Syslog forwarding, Webhook notifications, IP blocklist automation, and SAML/SSO audit consolidation.
👉 Contact VezoLabs for Customization & Legacy Support
Installation
Quick One-Line Install
Run the following command in your Pimcore project root:
composer require vezolabs/pimcore-login-tracker-bundle && \ bin/console pimcore:bundle:install PimcoreLoginTrackerBundle && \ bin/console assets:install public && \ bin/console cache:clear
Step-by-Step Installation
1. Require Package via Composer
composer require vezolabs/pimcore-login-tracker-bundle
2. Enable Bundle
If not auto-registered by Symfony Flex, add the bundle to config/bundles.php:
return [ // ... Pimcore\Bundle\LoginTrackerBundle\PimcoreLoginTrackerBundle::class => ['all' => true], ];
3. Run Bundle Installer & Migrations
bin/console pimcore:bundle:install PimcoreLoginTrackerBundle
4. Publish Frontend Assets & Clear Cache
bin/console assets:install public bin/console cache:clear
5. Verify Installation
bin/console pimcore:bundle:list bin/console login-tracker:cleanup --dry-run
Quick Start Guide
- Log into Pimcore Studio (
/pimcore-studio/) with administrator credentials. - In the left navigation dock, click System → Login Tracker.
- The Overview Dashboard provides immediate visibility into recent login attempts, failure counts, and active unique users.
- Open the Activity tab to filter audit logs by date range, username, login outcome, authentication provider, or IP address.
- Review the Security Insights tab for automated anomaly indicators and unusual activity alerts.
- Configure retention schedules and privacy thresholds under Settings.
CLI Commands
Retention Cleanup
Purge login history older than the configured retention threshold (default: 90 days):
# Preview records eligible for deletion without deleting bin/console login-tracker:cleanup --dry-run # Execute immediate purge bin/console login-tracker:cleanup
Documentation
Detailed documentation is available in the docs/ directory:
- Installation & Activation
- Configuration Reference
- Security Architecture & Hardening
- Troubleshooting & Diagnostics
Contributing
Contributions are welcome. Please read CONTRIBUTING.md for coding standards and test execution.
To run the automated PHPUnit test suite:
vendor/bin/phpunit -c phpunit.xml.dist
License
This project is licensed under the MIT License.
Commercial Support & Consulting
VezoLabs provides professional consulting, enterprise deployment, and custom Pimcore development.
- Website: https://vezolabs.com
- Inquiries: https://vezolabs.com/contact