/docs/pitzw Gawel's repository

Table Of Contents

Previous topic

Welcome to Pitzw’s documentation!

Next topic

Api

This Page

pitzw.permissions Security configuration

Permissions

We have to set four permissions:

  • view_permission - View
  • comment_permission - Comment task
  • add_permission - Allow to add new tasks
  • edit_permission - Admin permission. Allow everithing

Simple security

Available values for permission are:

  • * - All users
  • authenticated - Authenticated users
  • user_name - A user name found in REMOTE_USER
[app:main]
use = egg:pitzw
pitzdir = %(here)s/pitz/pitzdir/

secure = simple

view_permission = *
comment_permission = *
add_permission = authenticated
edit_permission = admin_user

Full security

This will use repoze.what to check permission:

Available values for permission are:

  • * - All users
  • authenticated - Authenticated users
  • perm_name - A permission name configured via repoze.what
[app:main]
use = egg:pitzw
pitzdir = %(here)s/pitz/pitzdir/

secure = simple

view_permission = *
comment_permission = *
add_permission = pitz_add
edit_permission = pitz_edit

Configuration used for developement

[DEFAULT]
public = true
push_ssl = false

[server:main]
use = egg:Paste#http
port = 5000

[app:main]
use = egg:pitzw
pitzdir = %(here)s/../pitz/pitzdir/
secure = simple
view_permission = *
comment_permission = *
add_permission = *
edit_permission = *

# Logging configuration
[loggers]
keys = root, pitzw

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[logger_pitzw]
level = DEBUG
handlers =
qualname = pitzw

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

Module api

pitzw.permissions.check(self, perm)
check permission on application
pitzw.permissions.protect(perm)
class decorator to check permission