Modular rewriting reverse proxy
This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jérôme Schneider b606ca56dd Cleanning README.rst, setup.py and auth/authform.py 2011-10-07 22:56:41 +02:00
mandaye Cleanning README.rst, setup.py and auth/authform.py 2011-10-07 22:56:41 +02:00
pocs Mandaye now working for a basic reverse proxy 2011-08-10 18:15:26 +02:00
COPYING Begin Mandaye true project based on poc1.py 2011-08-04 19:28:16 +02:00
README.rst Cleanning README.rst, setup.py and auth/authform.py 2011-10-07 22:56:41 +02:00
TODO Add static management and improving multi account support 2011-10-05 15:51:24 +02:00
mandayectl Improve README and finish duonet support 2011-09-23 08:49:32 +02:00
pip-requirements.txt add a pip requirements file 2011-09-19 11:48:02 +02:00
setup.py Cleanning README.rst, setup.py and auth/authform.py 2011-10-07 22:56:41 +02:00

README.rst

===============================================
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
--------

TODO: improve this part

 * Filters: You can filter the request or the response with one or many filters.
   You can serve static response in a filter.
   There 3 types of filters:
    * on_request
    * on_response
    * reponse
 * Dispatcher: This will call the right filters
 * Authentification management
 * Sql and ldap authentification
 * Authentification through Authentic2 idp (SAML2 and CAS)


Installation
============

Dependencies
------------

You must install the following packages to use Mandaye

 * Gevent 0.13::

   From sources: http://pypi.python.org/pypi/gevent
   Debian based distribution: apt-get install python-gevent
 
 * Poster 0.8::

   From sources: http://pypi.python.org/pypi/poster/
   Debian based distribution: apt-get install python-poster

 * SQLAlchemy 0.7.2::

   From sources: http://pypi.python.org/pypi/SQLAlchemy

 * Beaker 1.5.4::

   From sources: http://pypi.python.org/pypi/Beaker

 * Mako 0.4.2::

   From sources: http://pypi.python.org/pypi/Mako

 * lxml 2.3.1::

    From sources: http://pypi.python.org/pypi/lxml

You can install all those dependencies quickly using pip::

   pip install gevent poster SQLAlchemy Beaker Mako lxml

or easy_install::

   easy_install gevent poster SQLAlchemy Beaker Mako lxml

Quick Start
-----------

Configure mandaye/config.py

Then launch the following commands::

  ./mandayectl --createdb
  ./mandayectl --start

You should see the following output::

    Database created
    Starting Mandaye x.x.x.x:xx ...