Extend, Modify or clone the Django authentication system to
* export user data a) to LDAP and b) to Google Apps (see [url removed, login to view]) Data should be exported on save/create of any record.
* use CouchDB instead of an SQL Database to store User Account information. The user's E-Mail-Address shoule be used in the "username" field, so user's dont have to remembern an additional username.
* Provide a simple application to change/reset Password (this can reuse 99% Django code)
* Provide a require_login decorator which checks if the user is already logged in and if not displays a login form. (You again can reuse a lot of django code for that.) The user should NOT be asked for his username but for his E-Mail Address instead.
During development we can NOT give you access to a Google Apps account for testing - you have to get one yourself.
* New User Model compatible with Djangos Uder Model
* Application where an Admin can create and delete user (might use the Djaongo admin interface)
* Application where Users can change ther Passwort or reset ther password.
* Password reset should be implemented by emailing the user a one time link valid for 48 h which when followd allows the user to set a new password. When the Password has been changed, rend an informational email about the fact. The technique is described at [url removed, login to view] and called "Weak Technique C ??" Emailing instructions on how to reset password" (yes I want you to implement a "weak" techmique
* Sample of the login_required decorator
Django 1.0.x based application fulfilling above requirements.
Should work with sqlite and PostgreSQL. If you prefere you can use CouchDB instead.
Including a [url removed, login to view] file which can be used with the pip utility to install all dependencies.
Plain white HTML pages containing the needed forms/UI.
Python Code must follow [url removed, login to view]
We encourage you to use existing OpenSource libraries where apropriate You have to sign over the Copyright of all code written by you for this Projet to us.
Pytohn 2.6, Django 1.0.x