Package twisted :: Package web :: Package woven :: Module guard :: Class UsernamePasswordWrapper
[frames | no frames]

Class UsernamePasswordWrapper

Collection --+            
             |            
   Constrained --+        
                 |        
  ConfigCollection --+    
                     |    
              Resource --+
                         |
                        UsernamePasswordWrapper


I bring a twisted.cred Portal to the web. Use me to provide different Resources (usually entire pages) based on a user's authentication details.

A UsernamePasswordWrapper is a Resource, and is usually wrapped in a SessionWrapper before being inserted into the site tree.

The Realm associated with your Portal should be prepared to accept a request for an avatar that implements the twisted.web.resource.IResource interface. This avatar should probably be something like a Woven Page. That is, it should represent a whole web page. Once you return this avatar, requests for it's children do not go through guard.

If you want to determine what unauthenticated users see, make sure your Portal has a checker associated that allows anonymous access. (See twisted.cred.checkers.AllowAnonymousAccess)
Method Summary
  __init__(self, portal, callback, errback)
Constructs a UsernamePasswordWrapper around the given portal.
  _ebFilter(self, f)
  getChild(self, path, request)
Retrieve a 'child' resource from me.
    Inherited from Resource
  delEntity(self, name)
Remove a static reference for 'name'.
  getChildForRequest(self, request)
(internal) Get a child of mine dependant on a particular request.
  getChildWithDefault(self, path, request)
Retrieve a static or dynamically generated child resource from me.
  getDynamicEntity(self, name, request)
Subclass this to generate an entity on demand.
  getStaticEntity(self, name)
Get an entity that was added to me using putEntity.
  listDynamicEntities(self, request)
A list of all name, entity that I can generate on demand.
  listDynamicNames(self)
Retrieve a list of the names of entities that I store references to.
  listEntities(self)
  listNames(self)
  listStaticEntities(self)
Retrieve a list of all name, entity pairs that I store references to.
  listStaticNames(self)
Retrieve a list of the names of entities that I store references to.
  putChild(self, path, child)
Register a static child.
  reallyPutEntity(self, name, entity)
  render(self, request)
Render a given resource.
    Inherited from ConfigCollection
  entityConstraint(self, entity)
A method that determines whether an entity may be added to me.
  getEntityType(self)
  getNameType(self)
    Inherited from Constrained
  nameConstraint(self, name)
A method that determines whether an entity may be added to me with a given name.
  putEntity(self, name, entity)
Store an entity if it meets both constraints.
    Inherited from Collection
  getEntity(self, name, request)
Retrieve an entity from me.
  removeEntity(self, name, request)
Remove an entity for 'name', based on the content of 'request'.
  storeEntity(self, name, request)
Store an entity for 'name', based on the content of 'request'.

Class Variable Summary
    Inherited from Resource
tuple __implements__ = (<class twisted.web.resource.IResource ...
int isLeaf = 0                                                                     
NoneType server = None                                                                  

Method Details

__init__(self, portal, callback=None, errback=None)
(Constructor)

Constructs a UsernamePasswordWrapper around the given portal.
Parameters:
portal - A cred portal for your web application. The checkers associated with this portal must be able to accept username/password credentials.
           (type=twisted.cred.portal.Portal)
callback - Gets called after a successful login attempt. A resource that redirects to "." will display the avatar resource. If this parameter isn't provided, defaults to a standard Woven "Thank You" page.
           (type=A callable that accepts a Woven model and returns a IResource.)
errback - Gets called after a failed login attempt. If this parameter is not provided, defaults to a the standard Woven form error (i.e. The original form on a page of its own, with errors noted.)
           (type=A callable that accepts a Woven model and returns a IResource.)
Overrides:
twisted.web.resource.Resource.__init__

getChild(self, path, request)

Retrieve a 'child' resource from me.

Implement this to create dynamic resource generation -- resources which are always available may be registered with self.putChild().

This will not be called if the class-level variable 'isLeaf' is set in your subclass; instead, the 'postpath' attribute of the request will be left as a list of the remaining path elements.

For example, the URL /foo/bar/baz will normally be:
 | site.resource.getChild('foo').getChild('bar').getChild('baz').
However, if the resource returned by 'bar' has isLeaf set to true, then the getChild call will never be made on it.
Parameters:
path - a string, describing the child
request - a twisted.web.server.Request specifying meta-information about the request that is being made for this child.
Overrides:
twisted.web.resource.Resource.getChild (inherited documentation)

Generated by Epydoc 2.0 on Sat Sep 13 04:20:36 2003 http://epydoc.sf.net