Mandaye - modular reverse proxy to authenticate

Mandaye is a modular rewriting reverse proxy. Its main use is to add external
authentication systems to legacy application, i.e. SSO.
It dispatches HTTP requests to your applications and allow you to transform and
filter the request and the response.
Mandaye allows to couple your authentication provider with incompatible web
applications.

Copying

This software copyrighted by Entr'ouvert and is licensed under the GNU AGPL
version 3 for distribution.

Features

  • Mapping / dispatching
    With Mandaye you can define your own mapping files. This allows you to call your own filters
    on the right HTTP requests. See the config part for more details.
  • Filters
    You can define your own filters with Mandaye. This filter have access to the WSGI environment and
    could modify the HTTP requests and / or responses.
  • Local authentification
    Mandaye provide a sql local authentification but you can also implement your own
    local authentification.
  • Distant authentification
    At the moment Mandaye only support form replay for a distant authentification but we will provide
    SAML 2.0, OpenID and CAS support.

Installation

Dependencies

You must install the following packages to use Mandaye

You can install all those dependencies quickly using pip

pip install gevent poster SQLAlchemy Beaker Mako lxml gunicorn

or easy_install::

easy_install gevent poster SQLAlchemy Beaker Mako lxml gunicorn

or apt-get (Debian based distributions)::

apt-get install gunicorn python-poster python-sqlalchemy python-beaker python-mako python-lxml python-setuptools

It's recommended to install the following modules

You can install this Python modules with pip

    pip install pycrypto static

Quick installation

Install at least Python >=2.5 and setuptools or distribute and enter this command in a shell

$ python setup.py install

If you want to develop use this command line

$ python setup.py develop

Quick Start

Configure MANDAYE_PATH/mandaye/config.py with your own preferences.
You must configure the database uri and the log file.

First create your database

$ mandaye_admin.py --createdb

Launch mandaye server

$ mandaye_server.py

mandaye_server.py use gunicorn and gunicorn options (please read http://gunicorn.org/configure.html)

You could also use gunicorn.conf.py-sample (in the mandaye files)

$ mandaye_server.py -c PATH_TO_THE_FILE/gunicorn.conf.py

or

$ mandaye_server.py -c PATH_TO_THE_FILE/gunicorn.conf.py -b 0.0.0.0:4242

Configuration
TODO

EtatDelArt
Fonctionnement

Formats disponibles : PDF HTML TXT