[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