-
-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Ldap authentication #146
Conversation
The general LDAP login is enabled and can be used.
To enable further functionality it was necessary to split the different login mechanisms into separate files.
To use the new LDAP login method it is necessary to be able to configure it via the papermerge.conf.py file.
@ibiBgOR, hey man, fantastic work! I will keep your PR in queue for two weeks; thus you can safely push further changes. |
The build fails, because no module for django_auth_ldap could be found. To resolve this issue, we now require the user to explicitly configure the AUTH_MECHANISM or use NodeAuthBackend as default. NodeAuthBackend is also the fallback if LDAP was configured but the required packages were not installed. This way the software will always run but the user can see within the logs that some problem occured.
Sadly I started implementing the import of the usersource into the database but forgot about removing the code within the LdapAuthBackend. This should fix the issue that the build fails.
As LDAP users should be altered within the LDAP itself the application should not be allowed to change any data.
As LDAP users should be created within the LDAP itself the application should not be allowed to add any new user.
This way even groups can be imported form external authentication sources. Furthermore this commit removed access to ui-elements depending on user permissions. The permissions can be given not only user wise but also group wise. This way it is possible to create an "administration" group which is able to administer the application (managing users and groups)
Not every user needs to be able to check the users visible to the system or all the groups available within the system. Not only will all interfaces be empty for said users (with no permissions) but the menu entries will be deleted from the menubar.
To better match the overall layout it is necessary to have a consistent layout throughout the application. Therefore some interfaces were required to change accordingly. Now pretty much all "administrative" interfaces look the same.
…_authentication � Conflicts: � papermerge/__init__.py � papermerge/core/backup_restore.py � papermerge/core/models/document.py � papermerge/core/views/users.py � papermerge/test/test_backup_restore.py � papermerge/test/test_page.py � papermerge/test/test_search.py
no activity |
I tried to implement a possibility to configure the login via LDAP.
The current state is:
Currently absolutely missing:
Nice to haves/missing for the future:
I'm sorry to not further discuss my changes on the referenced issue but if you have any feedback I'll try to look into them!