[Zope3-dev] Re: Security Model

Jim Fulton jim at zope.com
Mon Dec 15 22:28:13 EST 2003


I'll just note that an upcoming project will be to refactor the
authorization system in a way that should make it much more obvious
how to implement the sorts of systems sketched out in this thread.

This is a possible project for the F12g sprint in January.

As a matter of jargon, I see Zope 3's security system as consisting
of 4 parts.

1. A system for declaring the permissions needed to access
    names in objects or classes of objects. I don't have a good name
    for this. (Security requirements? Permission requirements?)

2. A system for enforcing permission requirements. This is implemented
    via security proxies.  In the future, it may involve a combination of
    security proxies and code manipulation.  I think a good name for
    this might be the protection system.

    This system is somewhat pluggable through checker components, which are
    used to define the actual rules used by security proxies.

3. A system for assigning principals to requests. This is the authentication
    system.  It is pluggable through the provision of authentication services.

4. A system for deciding whether principals have permissions.  This is
    the authorization system.  It is pluggable through the provision of
    a security proxy and associated infrastructure (registered components)
    to manage authrization data. Different security policies will require
    different data, depending on the underlying model.

Jim


-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org





More information about the Zope3-dev mailing list