from html import escape
from pyramid.response import Response
from pyramid.security import view_execution_permitted
def x_view(request): # pragma: no cover
return Response('this is private!')
def test(context, request):
# should return false
msg = 'Allow ./x? %s' % repr(
view_execution_permitted(context, request, 'x')
)
return Response(escape(msg))
def includeme(config):
from pyramid.authentication import AuthTktAuthenticationPolicy
from pyramid.authorization import ACLAuthorizationPolicy
authn_policy = AuthTktAuthenticationPolicy('seekt1t', hashalg='sha512')
authz_policy = ACLAuthorizationPolicy()
config.set_authentication_policy(authn_policy)
config.set_authorization_policy(authz_policy)
config.add_view(test, name='test')
config.add_view(x_view, name='x', permission='private')