diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/narr/security.rst | 63 |
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 -------------------------- |
