{ "info": { "author": "Patrick Craston", "author_email": "patrick@craston.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "django-preventconcurrentlogins\n==============================\n\nDjango middleware that prevents multiple concurrent logins. If a user is already logged into the Django application and\ntries to log in somewhere else, the previous session is deleted.\n\n\nThis package is based on code from http://stackoverflow.com/a/1814797 and https://gist.github.com/peterdemin/5829440.\n\n\nUsage\n-----------\n\n1. Add \"preventconcurrentlogins\" to your INSTALLED_APPS settings like this::\n\n ```python\n INSTALLED_APPS = { \n ...\n 'preventconcurrentlogins',\n }\n ```\n \n\n2. Add \"preventconcurrentlogins.middleware.PreventConcurrentLoginsMiddleware\" to MIDDLEWARE_CLASSES::\n\n ```python\n MIDDLEWARE_CLASSES = { \n ...\n 'preventconcurrentlogins.middleware.PreventConcurrentLoginsMiddleware',\n }\n ```\n \n\n3. Run `python manage.py migrate` to create the visitor model that is used to track a users currently active session\nkey.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pcraston/django-preventconcurrentlogins", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-preventconcurrentlogins", "package_url": "https://pypi.org/project/django-preventconcurrentlogins/", "platform": "", "project_url": "https://pypi.org/project/django-preventconcurrentlogins/", "project_urls": { "Homepage": "https://github.com/pcraston/django-preventconcurrentlogins" }, "release_url": "https://pypi.org/project/django-preventconcurrentlogins/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "Django middleware that prevents multiple concurrent logins.", "version": "0.8.2" }, "last_serial": 3916157, "releases": { "0.7": [ { "comment_text": "", "digests": { "md5": "eb9731a0f79329a46c660d74e2795dcc", "sha256": "3ad66366e320e57e17109ded6d031696ae1d64d559ce72728c0e025e09459546" }, "downloads": -1, "filename": "django-preventconcurrentlogins-0.7.tar.gz", "has_sig": false, "md5_digest": "eb9731a0f79329a46c660d74e2795dcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4266, "upload_time": "2015-10-22T12:59:27", "url": "https://files.pythonhosted.org/packages/82/6b/abaeff01f3181719e2e7d9393dffff7fed3dacf778003ab370dc96cfb7c7/django-preventconcurrentlogins-0.7.tar.gz" }, { "comment_text": "", "digests": { "md5": "fb10fbc255a2d8dc977d775f5719aac2", "sha256": "5aa581d0d6a8e97de58f28aa80d28e06461106444a7d32d6ebe259d2389a42ed" }, "downloads": -1, "filename": "django-preventconcurrentlogins-0.7.zip", "has_sig": false, "md5_digest": "fb10fbc255a2d8dc977d775f5719aac2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9635, "upload_time": "2015-10-22T12:58:13", "url": "https://files.pythonhosted.org/packages/95/54/72c3162570a43708a954cc896e916fb8dff9cb70e6836038f1e36a449e09/django-preventconcurrentlogins-0.7.zip" } ], "0.8": [], "0.8.1": [ { "comment_text": "", "digests": { "md5": "649c22e38cc80007de645c21172b63db", "sha256": "2260ae341460a69c7a0d653ef6d0808331dffed2a57f47a695f9654b9f125c02" }, "downloads": -1, "filename": "django-preventconcurrentlogins-0.8.1.tar.gz", "has_sig": false, "md5_digest": "649c22e38cc80007de645c21172b63db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4247, "upload_time": "2016-09-08T14:58:20", "url": "https://files.pythonhosted.org/packages/87/dd/3956d2232437e377c47256684d35ffd18f811cc1fafbd38ecbc1f31f30e9/django-preventconcurrentlogins-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "b8dd55296ae07819c18967505405104d", "sha256": "9cb45fcd63edeec55e5ac29bbd2ee96974dc2a72d74ab88088dbf6a1f52978e9" }, "downloads": -1, "filename": "django-preventconcurrentlogins-0.8.2.tar.gz", "has_sig": false, "md5_digest": "b8dd55296ae07819c18967505405104d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4322, "upload_time": "2018-05-31T08:45:53", "url": "https://files.pythonhosted.org/packages/bc/90/ed3b82373bb8150f22e53cf45329f302b440a28bf0773b7bd76681106e0d/django-preventconcurrentlogins-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b8dd55296ae07819c18967505405104d", "sha256": "9cb45fcd63edeec55e5ac29bbd2ee96974dc2a72d74ab88088dbf6a1f52978e9" }, "downloads": -1, "filename": "django-preventconcurrentlogins-0.8.2.tar.gz", "has_sig": false, "md5_digest": "b8dd55296ae07819c18967505405104d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4322, "upload_time": "2018-05-31T08:45:53", "url": "https://files.pythonhosted.org/packages/bc/90/ed3b82373bb8150f22e53cf45329f302b440a28bf0773b7bd76681106e0d/django-preventconcurrentlogins-0.8.2.tar.gz" } ] }