[Zope3-dev] Re: RFC: Unification of requests and security contexts
through Use
Steve Alexander
steve at z3u.com
Wed Jan 21 09:29:11 EST 2004
Chris McDonough wrote:
> Maybe it's just
> meant to be a bag, which would be fine, but then the verbosity of the
> proposal still confounds me and makes me think I'm still missing
> something.
The proposal actually is pretty simple. The value of it is that it
describes how we can look at security as akin to presentation, and how
this allows us to get rid of the ill-defined "security context" we have
had in Zope 3 until now.
We replace the security context with a Use. Clients of the Use are:
* The publication object, which creates the Use and tells the Use about
the request and its principal(s).
* Executable code, which tells the Use that other principals are
also responsible for how the system is currently being used,
and when that responsibility is finished.
* Logging and auditing systems, which ask the Use what principals have
been at all involved in how the system has been used, and how each
principal has participated in the activities performed by the system.
* The security policy, which needs to know what principals are using the
system, and may need to know who is "piloting" the principal, and
how they are connecting to the principal in order to pilot it.
I have an image in mind of a puppet show with marionettes.
Each puppet is a principal. A puppet is controled using strings, or
rods -- the request. However, in our technologically advanced show,
we have programmable puppets that can remember moves and speech
to be performed when their puppeteer isn't there -- executable code.
One puppeteer may control several puppets. Inside the show, all
we see are puppets and strings.
The class and interface for the Use can be defined along with the
security policy. The other clients of a Use can adapt the Use to the
specific interface they require.
I just talked with Jim about this, and about a puppet metaphor. We
discussed that if we follow this metaphor, we can change the diagram in
the proposal to dispense with "Actor", and just have a Use know about
Participations, each Participation having Principals. This is pretty
close to Phillip's revised diagram.
--
Steve Alexander
More information about the Zope3-dev
mailing list