{{cookiecutter.project_slug}}/{{cookiecutter.webapp_name}}/__init__.py
changeset 15 ec047632ceb5
parent 0 186ad038b0d9
child 22 32fd6f6499f7
equal deleted inserted replaced
14:db91044a173e 15:ec047632ceb5
    14 
    14 
    15 # import interfaces
    15 # import interfaces
    16 
    16 
    17 # import packages
    17 # import packages
    18 from pyams_security.utility import PyAMSAuthenticationPolicy
    18 from pyams_security.utility import PyAMSAuthenticationPolicy
       
    19 from pyams_utils.request import PyAMSRequest
    19 from pyams_utils.site import site_factory
    20 from pyams_utils.site import site_factory
    20 from pyramid.authorization import ACLAuthorizationPolicy
    21 from pyramid.authorization import ACLAuthorizationPolicy
    21 from pyramid.config import Configurator
    22 from pyramid.config import Configurator
    22 from zope.component import getGlobalSiteManager
    23 from zope.component import getGlobalSiteManager
    23 
    24 
    25 def main(global_config, **settings):
    26 def main(global_config, **settings):
    26     """ This function returns a Pyramid WSGI application.
    27     """ This function returns a Pyramid WSGI application.
    27     """
    28     """
    28     registry = getGlobalSiteManager()
    29     registry = getGlobalSiteManager()
    29     config = Configurator(registry=registry)
    30     config = Configurator(registry=registry)
    30     config.setup_registry(root_factory=site_factory, settings=settings)
    31     config.setup_registry(root_factory=site_factory,
       
    32                           request_factory=PyAMSRequest,
       
    33                           settings=settings)
    31 
    34 
    32     authn_policy = PyAMSAuthenticationPolicy(secret='PyAMS 0.1.0',
    35     authn_policy = PyAMSAuthenticationPolicy(secret='PyAMS 0.1.0',
       
    36                                              http_only=True,
       
    37                                              secure=True,  # remove in development environment
       
    38                                                            # if you don't use HTTPS
    33                                              credentials=('http',))
    39                                              credentials=('http',))
    34     config.set_authentication_policy(authn_policy)
    40     config.set_authentication_policy(authn_policy)
    35     config.set_authorization_policy(ACLAuthorizationPolicy())
    41     config.set_authorization_policy(ACLAuthorizationPolicy())
    36 
    42 
    37     config.scan()
    43     config.scan()