{ "info": { "author": "RedTurtle Technology", "author_email": "sviluppoplone@redturtle.it", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.3", "Programming Language :: Python" ], "description": "A **PAS plugin** for Plone where administrators (or normal users) can\r\n**delegate their own permissions** to other users.\r\n\r\n.. contents:: **Table fo contents**\r\n\r\nIntroduction\r\n============\r\n\r\nThis product will add a role sharing control panel to you site, where a user\r\n(the **delegator**) will be able to *proxy* his roles to another user\r\n(**delegate**).\r\n\r\nWhile the delegation is active, the delegate will be able to act as the\r\ndelegator, as he own *same roles* (both global and local).\r\n\r\nEvery delegate will also gain a new *Delegate* role (this role will not be\r\nregistered in your Plone site, this feature must be activated by 3rd party\r\nor manual configuration).\r\n\r\nThe \"*Proxy Roles Settings*\" control panel\r\n==========================================\r\n\r\nThe plugin configuration is composed by a sequence of delegator/delegate\r\ncouples.\r\n\r\n.. image:: https://github.com/RedTurtle/pas.plugins.proxy/blob/8e78343869d00154b45395d007c66c841357e285/docs/pas.plugins.proxy-0.1.0-01.png\r\n :alt: Proxy Roles Settings\r\n\r\nBy default *all* users can access this panel, with a big difference:\r\n\r\n* Managers and Site Administrators (who own\r\n \"``pas.plugins.proxy: Manage proxy roles``\" permission) can add and delete\r\n roles delegations for all users\r\n* Other members can only delegate for themself. If you don't want to give this\r\n power to normal users you can just remove the\r\n \"``pas.plugins.proxy: Access proxy roles panel``\" permission.\r\n\r\nOther rules:\r\n\r\n* You can only delegate existings users\r\n* Cannot cross-delegate (a user can't be both delegator and delegate of\r\n another)\r\n* A delegator can proxy his roles as many times as he need\r\n* A user can be delegate of many users \r\n\r\nGroups\r\n======\r\n\r\nThe PAS plugin act also as a **group plugin**: the delegate will automatically gets\r\nall roles given to groups where the delegator is in. \r\n\r\nAsk for groups of a delegate will return you also groups of his delegator.\r\nInstead: asking for users inside a group will not return users that seems part of\r\nthe groups thanks to delegation process.\r\n\r\nLimitations and Troubleshooting\r\n===============================\r\n\r\nRule Number One\r\n---------------\r\n\r\nThe most important thing to know: the **plugin works only for currently logged\r\nin user** (someway similar to the Authenticated Users virtual group): if you\r\nquery the permissions of a delegate by code you will get nothing.\r\nThis is not a technical limit but a practical consequence of aggressive cache\r\ndone by the plugin itself, bringing us acceptable performance.\r\n\r\n*No* inheritance\r\n----------------\r\n\r\nDelegation works with **one-level of inheritance**: in user A is delegator of\r\nuser B, and user B is delegator of user C, C will not get any power from A.\r\nThis could probably possibile in future (if so: optionally) but there are some\r\nimplications about performance and avoiding circular delegations loops.\r\n\r\nKnowing delegation status\r\n-------------------------\r\n\r\nThere's no simple way to know if a user is able to perform an action because he\r\nhas sufficient permissions or because he get the needed permission thanks to\r\na delegator's role.\r\nNeither the *Delegate* role can help too much for this, as it's given every\r\ntime a role's proxy is active on the current context.\r\n\r\nLimiting plugin effects\r\n-----------------------\r\n\r\nAs said, this product implements three kind of plugins:\r\n\r\n* local roles\r\n* global roles\r\n* groups\r\n\r\n...all of them enabled by default.\r\nYou can freely access ZMI and disable one or more plugins (for example: you could\r\nnot like the groups propagation effect).\r\n\r\nAuthors\r\n=======\r\n\r\nThis product was developed by RedTurtle Technology team.\r\n\r\n.. image:: http://www.redturtle.it/redturtle_banner.png\r\n :alt: RedTurtle Technology Site\r\n :target: http://www.redturtle.it/\r\n\r\nChangelog\r\n=========\r\n\r\n0.1.0 (2015-05-15)\r\n------------------\r\n\r\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RedTurtle/pas.plugins.proxy", "keywords": "pas plugin proxy", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "pas.plugins.proxy", "package_url": "https://pypi.org/project/pas.plugins.proxy/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pas.plugins.proxy/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/RedTurtle/pas.plugins.proxy" }, "release_url": "https://pypi.org/project/pas.plugins.proxy/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "A Plone PAS plugin for proxy roles between users", "version": "0.1.0" }, "last_serial": 1548194, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "41a2877bab6475264299319771a192a8", "sha256": "996fb571e7fd4bd1a3066b8c723a62a7977aa6e76f45924974880de1f34bbaed" }, "downloads": -1, "filename": "pas.plugins.proxy-0.1.0.zip", "has_sig": false, "md5_digest": "41a2877bab6475264299319771a192a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89594, "upload_time": "2015-05-15T09:56:32", "url": "https://files.pythonhosted.org/packages/92/0c/26960e7475a1bef93081f6d8425cde9612bb2285fe113575a41e17c8f885/pas.plugins.proxy-0.1.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41a2877bab6475264299319771a192a8", "sha256": "996fb571e7fd4bd1a3066b8c723a62a7977aa6e76f45924974880de1f34bbaed" }, "downloads": -1, "filename": "pas.plugins.proxy-0.1.0.zip", "has_sig": false, "md5_digest": "41a2877bab6475264299319771a192a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89594, "upload_time": "2015-05-15T09:56:32", "url": "https://files.pythonhosted.org/packages/92/0c/26960e7475a1bef93081f6d8425cde9612bb2285fe113575a41e17c8f885/pas.plugins.proxy-0.1.0.zip" } ] }