Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Store and monitor login access to your Plone site

Project description

Save any login operation done in your Plone site to an external database and provide a Plone interface for query the database.

Introduction

This Plone add-on is based on z3c.saconfig and SQLAlchemy, and can’t provide any new feature to Plone without a proper configuration.

Keep reading for installation and configuration guide.

How to use

After the installation, any login done in your Plone will save to an external database an entry that store:

  • user id
  • a timestamp

Then a new configuration panel can bhe found in the site configuration: “Monitor user logins”.

From this view you can query the database previously populated:

Control panel for login monitor

You must limit the search inside a rande of dates, and optionally limiting users to members of a group. Results of the table displayed can be export to a CSV file.

Multiple sites

If your buildout hosts multiple Plone sites, all of them will store data in the database keeping same username on different sites separated.

Installation and configuration

You must configure an access to an external DBMS. The name of the engine used must be plone_logins.

Follow an example based on sqlite (not advised for production environment).

Add collective.login_monitor to your buildout, then provide a SQLAlchemy connection string:

[buildout]
...

[instance]
...
eggs=
   ...
   collective.login_monitor

zcml-additional =
    ...
    <configure xmlns="http://namespaces.zope.org/zope"
              xmlns:db="http://namespaces.zope.org/db">
       <include package="z3c.saconfig" file="meta.zcml" />
       <db:engine name="plone_logins"
                  url="sqlite:///${buildout:directory}/var/filestorage/plone_logins.db"
                  setup="collective.login_monitor.prepare_model.prepare"
                  />
       <db:session name="plone_logins" engine="plone_logins" />
   </configure>

Credits

Developed with the support of:

All of them supports the PloneGov initiative.

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

Changelog

0.4 (2015-08-21)

  • Added a contact form, for sending ad email message to all users found by the search [keul]
  • Added an (hidden) export to JSON feature. 3rd party add-ons can use this for performing operation of search results [keul]
  • Search view is now “callable” with custom parameters [keul]
  • Added a negative search filter, for looking for users who didn’t logged in in the given range. Please note that users must still be indexed by the table (a user who never logged in will not be found) [keul]
  • Added search filter by user id [keul]
  • Added new information about last login date of the user [keul]
  • Fixed errors in foreign key definition on schema models [keul]

0.3.1 (2014-11-06)

  • Fixed date error in that will be raised in some cases [keul]
  • React to a wider range of problems when database connection is not working [keul]

0.3 (2014-10-28)

Dropped Plone 3 compatibility

  • Add Full Name and E-mail columns to the search results and CSV output. [davidjb]
  • Fix selected Group logic on search form. [davidjb]
  • Clarify description for group selection field. [davidjb]
  • Minor grammar update for column headings on search page and export. [davidjb]
  • Change icon URLs to use PNG format rather than deprecated GIF images. [davidjb]
  • Add exception handling in the event, if no db is configured [cekk]

0.2 (2013-04-18)

First public release

  • old code totally refactored (removed sqldict for a pure SQLAlchemy approach) [keul]
  • i18n support [keul]

0.1 (unreleased)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.login_monitor-0.4.tar.gz (24.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page