Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
faiyazalam committed Feb 4, 2024
0 parents commit 7715c24
Show file tree
Hide file tree
Showing 24 changed files with 2,243 additions and 0 deletions.
35 changes: 35 additions & 0 deletions LICENSE.md
@@ -0,0 +1,35 @@
# License
Copyright (C) [extendmate.com](https://extendmate.com)


This software is available under two different licenses:
* GNU General Public License version 3 (GPLv3) as Pimcore Community Edition
* Extendmate Commercial License (ECL)

The default Extendmate license, without a valid Extendmate Commercial License agreement, is the Open-Source GPLv3 license.

## GNU General Public License version 3 (GPLv3)
If you decide to choose the GPLv3 license, you must comply with the following terms:

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

## Extendmate Commercial License (ECL)
Alternatively, commercial and supported versions of the program - also known as
Commercial Distributions - must be used in accordance with the terms and conditions
contained in a separate written agreement between you and Extendmate.
For more information about the Extendmate Commercial License (CCL) please contact support@extendmate.com.


Please see also (files in this directory):
[GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - gpl-3.0.txt](gpl-3.0.txt)
105 changes: 105 additions & 0 deletions README.md
@@ -0,0 +1,105 @@
# Extendmate - Login Tracker Bundle For Pimcore

The Bundle offers comprehensive user login tracking functionalities within Pimcore. It efficiently captures login-related details of Pimcore users, including:

1. **User ID**: Unique identifier assigned to the user.
1. **Username**: Name used by the user for login purposes.
1. **Roles**: Represents the user's assigned roles at the time of login.
1. **IP Address**: The IP address from which the user logged in.
1. **isAdmin**: Indicates whether the user is an admin or not.
1. **Login At**: Datetime of the user's login attempt.
1. **Logout At**: Datetime of the user's logout attempt.
1. **Last Seet At**: Datetime indicating the user's last activity.
1. **User Agent**: User's browser or application details.
1. **Firewall Name**: Specific firewall used during the login.
1. **Login Status**: Monitors login/logout/fail/error statuses. It registers as 'login' for successful logins, 'logout' for successful logouts, 'fail' for incorrect credentials, and 'error' when multiple failed login attempts occur.

## Requirements

- Pimcore 11.x

(Looking for Pimcore 5.x bundle? [Click Here](https://github.com/extendmategit/pimcore-bundle-user-login-history))


## Installation

To install the bundle, execute the following commands:

1. To install the Composer package, execute the following command:
```command
composer require extendmate/pimcore-bundle-login-tracker
```
2. Open the `/config/bundle.php` file and include the following line to enable the bundle::
```php
Extendmate\Pimcore\LoginTracker\ExtendmateLoginTrackerBundle::class => ['all' => true]
```
3. Install the bundle by running the command:
```command
./bin/console pimcore:bundle:install ExtendmateLoginTrackerBundle
```
4. (Optional) To explore available configurations for the bundle, run:
```command
./bin/console config:dump-reference ExtendmateLoginTrackerBundle
```
You can customize these settings by overriding them in your `config.yaml` file.

5. You're all set! Re-login to observe user login attempts within the **ExtendmateLoginTracker-AllLoginAttempts** report section.
For viewing the reports, ensure the **PimcoreCustomReportsBundle** is enabled.



## Update
To update the bundle, execute the following commands:

1. Update the bundle using Composer:
```command
composer update extendmate/pimcore-bundle-login-tracker
```
2. Run the migrations with the specified prefix:
```command
./bin/console doctrine:migrations:migrate --prefix=Extendmate\\Pimcore\\LoginTrackerBundle
```

## Uninstallation
To uninstall the bundle, perform the following steps:

1. Uninstall the bundle via Pimcore console:
```command
./bin/console pimcore:bundle:uninstall ExtendmateLoginTrackerBundle
```
2. Disable the bundle by removing the following line from `/config/bundle.php`:
```php
Extendmate\Pimcore\LoginTracker\ExtendmateLoginTrackerBundle::class => ['all' => true]
```
3. Lastly, eliminate any bundle-related configurations from your config.yaml file, if present.


## Suggest New Feature

Do you have an innovative idea for a new feature? We'd love to hear from you!

## Bug Fixes

Spot a bug? Kindly create an issue, providing a step-by-step description to reproduce the problem. Please search the forum before opening a new issue.

## Support Development

If you found this bundle helpful, consider donating $5 to support its ongoing enhancements and improvements.


[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/erfaiyazalam/)

## Copyright and Licensing

Copyright (C) [extendmate.com](https://extendmate.com)
For licensing details, please visit [LICENSE.md](LICENSE.md)

## About Author

Greetings! I'm Faiyaz, the owner of extendmate.com. I have over 10 years of experience in website development.

Explore more about me on my [LinkedIn profile](https://www.linkedin.com/in/erfaiyazalam/ "Faiyaz Alam LinkedIn Profile") .

## Keywords

user login history, login history, login tracker, login log, login attempt detector, security audit trail, login monitor, login insights
42 changes: 42 additions & 0 deletions composer.json
@@ -0,0 +1,42 @@
{
"name": "extendmate/pimcore-bundle-login-tracker",
"license": "GPL-3.0+",
"type": "pimcore-bundle",
"description": "Tracks login activities of pimcore users.",
"keywords": [
"user login history",
"login history",
"login tracker",
"login log",
"login attempt detector",
"security audit trail",
"login monitor",
"login insights"
],
"homepage": "https://extendmate.com",
"authors": [
{
"name": "Faiyaz Alam",
"role": "Developer",
"homepage": "https://www.linkedin.com/in/erfaiyazalam/"
}
],
"support": {
"donate": "https://www.paypal.com/paypalme/erfaiyazalam/"
},
"autoload": {
"psr-4": {
"Extendmate\\Pimcore\\LoginTracker\\": "src/"
}
},
"require": {
"pimcore/pimcore": "^11.0.0"
},
"extra": {
"pimcore": {
"bundles": [
"Extendmate\\Pimcore\\LoginTracker\\ExtendmateLoginTrackerBundle"
]
}
}
}
2 changes: 2 additions & 0 deletions config/pimcore/config.yaml
@@ -0,0 +1,2 @@
imports:
- { resource: doctrine_migrations.yaml }
3 changes: 3 additions & 0 deletions config/pimcore/doctrine_migrations.yaml
@@ -0,0 +1,3 @@
doctrine_migrations:
migrations_paths:
Extendmate\Pimcore\LoginTracker\Migrations: '@ExtendmateLoginTrackerBundle/src/Migrations'
7 changes: 7 additions & 0 deletions config/pimcore/routing.yaml
@@ -0,0 +1,7 @@
extendmate_login_tracker:
resource: "@ExtendmateLoginTrackerBundle/src/Controller/Admin/"
type: annotation
prefix: /admin/extendmate-login-tracker/
options:
expose: true

28 changes: 28 additions & 0 deletions config/services.yaml
@@ -0,0 +1,28 @@
services:
# default configuration for services in *this* file
_defaults:
# automatically injects dependencies in your services
autowire: true
# automatically registers your services as commands, event subscribers, etc.
autoconfigure: true
# this means you cannot fetch services directly from the container via $container->get()
# if you need to do this, you can override this setting on individual services
public: false

Extendmate\Pimcore\LoginTracker\Controller\:
resource: '../src/Controller'
public: true
tags: ['controller.service_arguments']

Extendmate\Pimcore\LoginTracker\EventSubscriber\LoginTrackerSubscriber: ~

Extendmate\Pimcore\LoginTracker\Installer:
public: true
arguments:
$bundle: "@=service('kernel').getBundle('ExtendmateLoginTrackerBundle')"

Extendmate\Pimcore\LoginTracker\Service\Configuration:
arguments:
$config: ~


0 comments on commit 7715c24

Please sign in to comment.