summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/narr/security.rst63
1 files changed, 3 insertions, 60 deletions
diff --git a/docs/narr/security.rst b/docs/narr/security.rst
index 5566d7c28..6215bf1bc 100644
--- a/docs/narr/security.rst
+++ b/docs/narr/security.rst
@@ -2,72 +2,15 @@ Security
========
``repoze.bfg`` provides an optional declarative security system that
-prevents views that are protected by a "permission" from being
+prevents views that are protected by a :term:`permission` from being
rendered when the user represented by the request does not have the
appropriate level of access in a context.
Jargon
------
-Permission
-
- A string or unicode object that represents an action being taken
- against a context. For example, ``read``, or ``view_blog_entries``.
-
-ACE
-
- An *access control entry*. An access control entry is one element
- in an *ACL*. An access control entry is a three-tuple that
- describes three things: an *action* (one of either ``Allow`` or
- ``Deny``), a *principal* (a string describing a user or group), and
- a *permission*. For example the ACE, ``(Allow, 'bob', 'read')`` is
- a member of an ACL that indicates that the principal ``bob`` is
- allowed the permission ``read`` against the context the ACL is
- attached to.
-
-ACL
-
- An *access control list*. An ACL is a sequence of *ACE* s. An ACL
- is attached to a model instance. An example of an ACL is ``[
- (Allow, 'bob', 'read'), (Deny, 'fred', 'write')]``. If an ACL is
- attached to a model instance, and that model instance is findable
- via the context, it will be consulted by the security policy to
- determine wither a particular request can be fulfilled given the
- *authentication* information in the request.
-
-Authentication
-
- The act of determining that the credentials a user presents during a
- particular request are "good". ``repoze.bfg`` does not perfom
- authentication: it leaves it up to an upstream component such as
- ``repoze.who``. ``repoze.bfg`` uses the authentication data
- supplied by the upstream component as one input during
- authorization.
-
-Authorization
-
- The act of determining whether a user can perform a specific action.
- In bfg terms, this means determining whether, for a given context,
- the *principals* associated with the request have the requisite
- *permission* to allow the request to continue.
-
-Principal
-
- A *principal* is a string or unicode object representing a user or a
- user's membership in a group. It is provided by the
- *authentication* machinery upstream, typically. For example, if a
- user had the user id "bob", and Bob was part of two groups named
- "group foo" and "group bar", the request might have information
- attached to it that would indictate that Bob was represented by
- three principals: "bob", "group foo" and "group bar".
-
-Security Policy
-
- A security policy in bfg terms is a bit of code which accepts a
- request, the *ACL* associated with a context, and the *permission*
- associated with a particular view, and determines whether or not the
- principals associated with the request can perform the action
- associated with the permission based on the ACL.
+To learn about the jargon tossed around in this chapter, you may want
+to review the :ref:`glossary`.
Enabling a Security Policy
--------------------------