No description
  • Python 35.5%
  • CSS 31.5%
  • HTML 17.6%
  • JavaScript 12.6%
  • Shell 1.9%
  • Other 0.9%
Find a file
Sajeyks 38eec4d5c7 Log to stdout instead of rotating files
Containers should log to stdout. The RotatingFileHandler wrote to
logs/debug.log, which is lost with the pod and crashed startup when
the directory was missing.

All logging now goes to a console handler. LOG_LEVEL sets the root
level (default INFO), DJANGO_LOG_LEVEL sets django.* (default INFO),
and LDAP3_LOG=1 turns on ldap3 protocol logging. ENABLE_DEBUG_LOG and
MODULES_TO_LOG are gone.
2026-11-06 15:25:21 +03:00
dal Log to stdout instead of rotating files 2026-11-06 15:25:21 +03:00
dev Add local OpenLDAP 2.6 test server for development 2026-11-06 14:46:24 +03:00
.gitignore Compute the next uidNumber from LDAP instead of a local file 2026-11-06 15:03:57 +03:00
docker-compose.dev.yml Add local OpenLDAP 2.6 test server for development 2026-11-06 14:46:24 +03:00
Dockerfile Register add 2021-12-12 20:39:32 +01:00
manage.py Move project files to root directory 2019-02-17 17:43:06 +01:00
README.md Register add 2021-12-12 20:39:32 +01:00
requirements.txt Upgrade to Django 6.1 on Python 3.15 2026-11-06 15:23:02 +03:00

Ungleich Account Management Webapp

This service runs on account.ungleich.ch and allows customers manage their ungleich account (register, edit mail & password, ...).

Status v2

  • See below ungleichuser/
  • register view created
  • Not solved:
    • email verification before user is created
  • Solved
    • Finding highest uid, increasing by 1

Todos for v2:

  • Rewrite/create new app Django 4.0 based (ungleichuser)
  • Do not use django-auth-ldap, because it uses python-ldap
  • Update the template HTML to bootstrap5
  • Use ldap3
  • Check/verify the ldap registration
  • Ensure multiple ldap servers are supported
  • Cleanup this readme
  • Use the following "captcha" for all forms:
    • Extra form field named "random"
    • Present the user the following text:
  • Create Dockerfile / ensure it works in kubernetes

Next steps

  • Override/use custom form to allow captcha

Development Setup

python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
``

## Functionality

x Allow user to register in a specific subtree
x Verify that user does not exist in another subtree
x Assign an id
- Allow password reset [via Mail?]
- DB usage: for password reset?

## Parameters

Via environment variables:

* LDAPSERVERS=".." -- White space separated list of LDAP-Servers
* ADMIN_DN="" -- we use this DN to connect to LDAP
* ADMIN_PASSWORD="" -- we use this password to connect to LDAP
* SECRET_KEY
* DEBUG
* ALLOWED_HOSTS


## Views

### Register view

Form: [get]

* username
* password1
* password2

Post receiver: [post]

* E-Mail verification

E-Mail verify: [get]

* Create user

### Password reset view

* captcha
* username or email