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.

84 lines
1.9 KiB

5 years ago
# 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:
5 years ago
1. Initialize _Django_ project:
5 years ago
```
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
```
4. Add `bam` to `INSTALLED_APPS` in the project's `settings.py`.
5. Set `bam.hashers.LDAPPBKDF2PasswordHasher` as the first item of the
`PASSWORD_HASHERS` array in the project's `settings.py`.
6. 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:
5 years ago
```
./manage.py migrate
```
5 years ago
9. 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
```
5 years ago
## 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
5 years ago
* self-service registration
* package this app as a _Python_ module