Example #1
0
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)
    config = Configurator(settings=settings, root_factory=Root,
        authentication_policy = AuthTktAuthenticationPolicy(
            secret=settings['auth.secret'],
            callback=auth_callback,
        ), authorization_policy=ACLAuthorizationPolicy()
    )
    config.add_static_view('static', 'static', cache_max_age=3600)
    config.add_static_view('deform', 'deform:static', cache_max_age=3600)
    config.add_route('home', '/')
    config.scan()
    return config.make_wsgi_app()
Example #2
0
def auth_callback(login, request):
    try:
        user = DBSession.query(User).filter(User.login==login).one()
        request.user_object = user
    except NoResultFound:
        return False
    return (
        ['user:{0}'.format(login)] +
        ['group:{0}'.format(group) for group in user.groups.split(',')]
    )