New in version 1.0.1.
If you prefer to configure the quickstart plugin via Ini files instead of Python code, that’s possible as of version 1.0.1.
All the settings can be adjusted via configuration files, except passing additional arguments to repoze.who (which will be possible in later versions).
To use a configuration file instead of Python code, use repoze.what.plugins.quickstart.add_auth_from_config() instead of repoze.what.plugins.quickstart.setup_sql_auth(), like this:
from repoze.what.plugins.quickstart import add_auth_from_config # (...) # "config_file" is the path to the configuration file that contains your # auth settings: application = add_auth_from_config(application, global_config, config_file)
In these configuration files you can set the arguments you would pass to repoze.what.plugins.quickstart.setup_sql_auth(). For example, the sample file below illustrates how you’d pass the arguments required by this function:
[general] dbsession = your_project.model:DBSession [authentication] user_class = your_project.model:User [authorization] group_class = your_project.model:Group permission_class = your_project.model:Permission
While the file below illustrates how to pass the optional arguments as well, including the so-called “translations”:
[general] dbsession = tests.fixture.model:DBSession charset = utf-8 [authentication] user_class = tests.fixture.model:User form_plugin = tests.fixture.misc_config:form_plugin form_identifies = True cookie_name = authntkt cookie_secret = you cannot see this cookie_timeout = 3600 cookie_reissue_time = 1800 login_url = /log-me-in login_handler = /handle-login post_login_url = /do-something-after-login logout_handler = /log-me-out post_logout_url = /do-something-after-logout login_counter_name = login_attempts skip_authentication = False # Logging. # You can use the ``here`` variable in ``log_file``, which represents the # absolute path to this file's parent directory. log_file = stdout log_level = debug [authorization] group_class = tests.fixture.model:Group permission_class = tests.fixture.model:Permission [translations] validate_password = check_it users = members user_name = member_name groups = teams group_name = team_name permissions = perms permission_name = perm_name
log_file can be either "stdout", "stderr" or a path to a custom log file.
Changed in version 1.0.4: Added the options log_file and log_level to the [authentication] section.
Changed in version 1.0.5: Added the options cookie_timeout and cookie_reissue_time to the [authentication] section. section.
Changed in version 1.0.6: Added the option charset to the [general] section.
Changed in version 1.0.7: Added the option skip_authentication to the [authentication] section.
Add authentication and authorization middleware.
global_conf is not used at present, but could be used in the future.
Base exception for errors in a repoze.what-quickstart configuration file.
Exception raised when a mandatory option in the configuration file is missing.
Exception raised when an option has an invalid value.