Fix #152: changelog and documentation
This commit is contained in:
parent
ac7db73785
commit
aee792ab47
|
@ -0,0 +1,32 @@
|
||||||
|
Simpler permission system (#152)
|
||||||
|
|
||||||
|
|
||||||
|
Simpler permission system
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Starting from this release, the permission system is much simpler. Up until now,
|
||||||
|
we were using Django's built-in permission system, which was working, but also
|
||||||
|
quite complex to deal with.
|
||||||
|
|
||||||
|
The new implementation relies on simpler logic, which will make integration
|
||||||
|
on the front-end in upcoming releases faster and easier.
|
||||||
|
|
||||||
|
If you have manually given permissions to users on your instance,
|
||||||
|
you can migrate those to the new system.
|
||||||
|
|
||||||
|
On docker setups:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
docker-compose run --rm api python manage.py script django_permissions_to_user_permissions --no-input
|
||||||
|
|
||||||
|
On non-docker setups:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
# in your virtualenv
|
||||||
|
python api/manage.py script django_permissions_to_user_permissions --no-input
|
||||||
|
|
||||||
|
There is still no dedicated interface to manage user permissions, but you
|
||||||
|
can use the admin interface at ``/api/admin/users/user/`` for that purpose in
|
||||||
|
the meantime.
|
|
@ -117,3 +117,28 @@ Then, the value of :ref:`setting-MUSIC_DIRECTORY_SERVE_PATH` should be
|
||||||
On non-docker setup, you don't need to configure this setting.
|
On non-docker setup, you don't need to configure this setting.
|
||||||
|
|
||||||
.. note:: This path should not include any trailing slash
|
.. note:: This path should not include any trailing slash
|
||||||
|
|
||||||
|
User permissions
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Funkwhale's permission model works as follows:
|
||||||
|
|
||||||
|
- Anonymous users cannot do anything unless configured specifically
|
||||||
|
- Logged-in users can use the application, but cannot do things that affect
|
||||||
|
the whole instance
|
||||||
|
- Superusers can do anything
|
||||||
|
|
||||||
|
To make things more granular and allow some delegation of responsability,
|
||||||
|
superusers can grant specific permissions to specific users. Available
|
||||||
|
permissions are:
|
||||||
|
|
||||||
|
- **Manage instance-level settings**: users with this permission can edit instance
|
||||||
|
settings as described in :ref:`instance-settings`
|
||||||
|
- **Manage library**: users with this permission can import new music in the
|
||||||
|
instance
|
||||||
|
- **Manage library federation**: users with this permission can ask to federate with
|
||||||
|
other instances, and accept/deny federation requests from other intances
|
||||||
|
|
||||||
|
There is no dedicated interface to manage users permissions, but superusers
|
||||||
|
can login on the Django's admin at ``/api/admin/`` and grant permissions
|
||||||
|
to users at ``/api/admin/users/user/``.
|
||||||
|
|
Loading…
Reference in New Issue