{ "info": { "author": "Chris Beaven", "author_email": "smileychris@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "=============\r\nDjango Expire\r\n=============\r\n\r\nA Django application which provides authentication-based session expiration.\r\n\r\n\r\nTo install this application into your project, first add it to your\r\n``INSTALLED_APPS`` setting (and run ``manage.py syncdb``)::\r\n\r\n INSTALLED_APPS = (\r\n ...\r\n 'django_expire',\r\n )\r\n\r\nNext, add the expiration middleware to your ``MIDDLEWARE_CLASSES`` setting,\r\nplacing it after both the ``session`` and ``auth`` middleware.::\r\n\r\n MIDDLEWARE_CLASSES = (\r\n ...\r\n 'django_expire.middleware.ExpireMiddleware',\r\n )\r\n\r\n\r\nWhat it does\r\n============\r\n\r\nFor every request by an authenticated user, a check is run to ensure the number\r\nof other sessions also belonging to the user does not exceed the allowed\r\nmaximum.\r\n\r\nThis maximum defaults to ``1``, but you can provide a ``EXPIRE_MAX_USERS``\r\nsetting to override this default (a setting of ``0`` allows an unlimited\r\namount of users per session).\r\n\r\nIf a user has exceeded the number of sessions they are allowed, the excessive\r\nsessions are removed (effectively logging the user out of these now invalidated\r\nsessions).\r\n\r\n\r\nLogged sessions\r\n===============\r\n\r\nA log of each session is stored in the ``django_expire.models.LoggedSession``\r\nmodel.\r\n\r\nInvalidated sessions are not removed from the database by default so you can\r\nuse this model to retrieve login information (for example, date/time and IP\r\naddress).\r\n\r\nUse the ``EXPIRE_LOG_LIMIT`` setting to set a limit of expired session logs to\r\nretain for each user (you can use ``0`` to delete expired session logs straight\r\naway or ``None`` for no limit).\r\n\r\n\r\nChanging expiration settings per user\r\n=====================================\r\n\r\nThe ``django_expire.signals.expire_check`` allows you to change the\r\nexpiration settings at a per-user level.\r\n\r\nThe signal is sent before any tests are run, along with a settings dictionary\r\ncontaining a single ``max_users`` key. Signal handlers may change the value\r\nof the dictionary to alter the settings for this user.\r\n\r\nAn example handler (which is not automatically connected) can be found in\r\n``django_expire.signals.superuser_handler`` which demonstrates allowing\r\nsuperusers an unlimited number of sessions.", "description_content_type": null, "docs_url": null, "download_url": "http://bitbucket.org/smileychris/django-expire/downloads", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/smileychris/django-expire", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-expire", "package_url": "https://pypi.org/project/django-expire/", "platform": "any", "project_url": "https://pypi.org/project/django-expire/", "project_urls": { "Download": "http://bitbucket.org/smileychris/django-expire/downloads", "Homepage": "http://bitbucket.org/smileychris/django-expire" }, "release_url": "https://pypi.org/project/django-expire/1.0.1/", "requires_dist": null, "requires_python": null, "summary": "Django authentication-based session expiration", "version": "1.0.1" }, "last_serial": 789584, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "5b798cb49f8e092eb197e91c5583ec30", "sha256": "32b223e1992a569948b914c3482dc059f1ad8f3d36f6d9110ca73ed707ef1748" }, "downloads": -1, "filename": "django-expire-1.0.tar.gz", "has_sig": false, "md5_digest": "5b798cb49f8e092eb197e91c5583ec30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4008, "upload_time": "2010-03-11T00:59:36", "url": "https://files.pythonhosted.org/packages/2f/3e/66c599c55c4a7ab7ad741cb0d7b991b856770d33c48b1264902e086bd564/django-expire-1.0.tar.gz" } ], "1.0-alpha-1": [ { "comment_text": "", "digests": { "md5": "bf8180d591fde13ecda2e54ae2ef2973", "sha256": "3a7ff3e6e72fdaef172b8c6c90f4bcfffab90888f7fc771f9a96b59427380460" }, "downloads": -1, "filename": "django-expire-1.0-alpha-1.tar.gz", "has_sig": false, "md5_digest": "bf8180d591fde13ecda2e54ae2ef2973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3625, "upload_time": "2010-03-10T05:19:14", "url": "https://files.pythonhosted.org/packages/ce/d4/11fbe2ee0d766304eb5b96a96a65edc65dfe023e316ddd866f3ba172f9e4/django-expire-1.0-alpha-1.tar.gz" } ], "1.0-alpha-2": [ { "comment_text": "", "digests": { "md5": "2a13face59b023d24344b944c411d929", "sha256": "eddebd662e6d42cdfd10b290e70c58297ae46f40369958f2b865b592077b44c7" }, "downloads": -1, "filename": "django-expire-1.0-alpha-2.tar.gz", "has_sig": false, "md5_digest": "2a13face59b023d24344b944c411d929", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3671, "upload_time": "2010-03-10T21:31:55", "url": "https://files.pythonhosted.org/packages/c3/de/33ff0314891470d0f82c4c53d1d807995e84708eb2130fdd1db7a7b836f6/django-expire-1.0-alpha-2.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "283184b8a61c1dc59598ca81f40dc56b", "sha256": "b060ae507ab295912d09ebd2bbc194a0f7e322e618d59342b430dcd4d7a1101a" }, "downloads": -1, "filename": "django-expire-1.0.1.tar.gz", "has_sig": false, "md5_digest": "283184b8a61c1dc59598ca81f40dc56b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6062, "upload_time": "2010-03-12T00:35:19", "url": "https://files.pythonhosted.org/packages/3c/1d/74bf4ceae0bed7176694b5c437f105aad79b1481f268a56af03ca3c9dfab/django-expire-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "283184b8a61c1dc59598ca81f40dc56b", "sha256": "b060ae507ab295912d09ebd2bbc194a0f7e322e618d59342b430dcd4d7a1101a" }, "downloads": -1, "filename": "django-expire-1.0.1.tar.gz", "has_sig": false, "md5_digest": "283184b8a61c1dc59598ca81f40dc56b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6062, "upload_time": "2010-03-12T00:35:19", "url": "https://files.pythonhosted.org/packages/3c/1d/74bf4ceae0bed7176694b5c437f105aad79b1481f268a56af03ca3c9dfab/django-expire-1.0.1.tar.gz" } ] }