Blinkenbunt Account Manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Fr3deric 7bb56630cb display info about hashed email on profile page 6 years ago
bam display info about hashed email on profile page 6 years ago
.gitignore move pure.css to subfolder 6 years ago
README.md Add user synchronization to LDAP 6 years ago

README.md

bam - Blinkenbunt Account Manager

Installation

Currently, this repository does only contain a plain Django app without a project. The app is not (yet) packaged. Therfore, the following steps are necessary to initialize a development environment:

  1. Initialize Django project:

django-admin startproject PROJECT_NAME


  2. Clone this repository to a location outside the project directory.

  3. Below the project directory, create a symlink called `bam` to the `bam`
     folder of this repository, e.g.:

     ```
ln -sr bam PROJECT_DIRECTORY/bam
  1. Add bam to INSTALLED_APPS in the project's settings.py.

  2. Set bam.hashers.LDAPPBKDF2PasswordHasher as the first item of the PASSWORD_HASHERS array in the project's settings.py.

  3. Insert the settings BAM_LDAP_URI, BAM_LDAP_BIND_DN, BAM_LDAP_SECRET and BAM_LDAP_BASE_DN_MAP according to your setup into the project's settings.py. The base DN map has to be a dict from base DNs to arrays of Django groups.

    Example:

BAM_LDAP_BASE_DN_MAP = {
    'ou=test,dc=blinkenbunt,dc=org': [
        'jabber',
        'git',
    ],
    'ou=admins,dc=blinkenbunt,dc=org': [
        'admin',
    ],
}

  7. Append `path('', include('bam.urls')),` to the project's `urls.py`.

  8. Initialize database:

     ```
./manage.py migrate
  1. Create a superuser account:

./manage.py createsuperuser


  10. Download _Pure.css_ and extract it to `bam/static/pure.css/`.

  11. Start the development server:

     ```
./manage.py runserver

ToDo

Essential

  • LDAP sync mangement command
  • profile page view to be displayed after login
  • unify CSS for custom views and auth view

Optional, planned

  • service-based logins
  • self-service registration
  • package this app as a Python module