Compare commits

..

No commits in common. "a183f9b8d49ceb702568992e6e2fa50ee85d0990" and "bec130fc0b193e2b84dfb9c6a5d61c9ac93829ba" have entirely different histories.

2 changed files with 43 additions and 7 deletions

View File

@ -1,9 +1,45 @@
OctoPrint LDAP auth Plugin OctoPrint LDAP auth Plugin
========================= =========================
You will need to run the following command before installing this plugin This plugin allow users to be connected using an LDAP server.
`sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev` This system works
Install from the plugin manager. #### Details
The group is hardcoded... Sorry. When you try to login, OctoPrint search for user in this local database (users.yaml)
- If it found a user, check if this user exists also on LDAP
- If user exists on LDAP, use LDAP bind() to check login / password
- If user not exists on LDAP, use native password system to check it
======================================
- If it not found a user in local database, try to connect directly on LDAP
- If login on LDAP il OK, a new local user is added with role "user" and a random password (password should never be used)
- User is connected
======================================
- An admin (default user for exemple), could change a user permissions or account state.
- Password of LDAP users can't be changed
#### Configuration
You could configure LDAP server in plugin config, or manually in config.yaml
```
accessControl:
ldap_uri: ldaps://ldap.server.com/
ldap_tls_reqcert: demand
ldap_search_base: dc=server,dc=com
groups: TheGroupName
```
#### Groups
- You can list multiple groups via comma seperation: Group1, Group2, Group3.
- Leaving blank will skip a group check.
#### Installation
You can install it using ```pip install https://github.com/gillg/OctoPrint-LDAP/archive/master.zip```
Or with plugin manager into OctoPrint

View File

@ -21,13 +21,13 @@ plugin_version = "1.0.0"
plugin_description = "LDAP Auth provider" plugin_description = "LDAP Auth provider"
# The plugin's author. Can be overwritten within OctoPrint's internal data via __plugin_author__ in the plugin module # The plugin's author. Can be overwritten within OctoPrint's internal data via __plugin_author__ in the plugin module
plugin_author = "Cameron Sharp, Ben Casling, Feat. Guillaume GILL" plugin_author = "Guillaume GILL"
# The plugin's author's mail address. # The plugin's author's mail address.
plugin_author_email = "me@cazagen.me, ben@casling.io" plugin_author_email = "guillaume.gill@petitchinois.net"
# The plugin's homepage URL. Can be overwritten within OctoPrint's internal data via __plugin_url__ in the plugin module # The plugin's homepage URL. Can be overwritten within OctoPrint's internal data via __plugin_url__ in the plugin module
plugin_url = "https://gitea.ehlab.uk/cazagen/octoprint-ldap" plugin_url = "https://github.com/gillg/OctoPrint-LDAP"
# The plugin's license. Can be overwritten within OctoPrint's internal data via __plugin_license__ in the plugin module # The plugin's license. Can be overwritten within OctoPrint's internal data via __plugin_license__ in the plugin module
plugin_license = "AGPLv3" plugin_license = "AGPLv3"