The web.auth module is designed so that the data can be stored in lots of different ways through the use of different drivers. Currently only a database storage driver exists which allows session information to be stored in any relational database supported by the web.database
module. The web.database
module includes SnakeSQL, a pure Python database which works like a library, so you can use the web.session module even if you do not have access to another relational database engine.
To use the AuthSession
and AuthManager
objects we need to obtain a valid Driver
object. This is done as follows:
import web, web.database, web.auth connection = web.database.connect('mysql', database='test') cursor = connection.cursor() driver = web.auth.driver('database', environment='testEnv', cursor=cursor)
In this example we are using a database to store the session information so we setup a database cursor named cursor
as described in the documentation for the web.database
module and use it to pass to the web.session.driver() method.
The environment parameter is the name of the environment to be used (see the next section for information on environments).