pyramid.security
¶
身份验证API函数¶
- forget(request, **kw)[源代码]¶
返回头元组序列(例如
[('Set-Cookie', 'foo=abc')]
)适用于“忘记”当前已验证用户拥有的一组凭据。在视图函数的主体中,一个常见的用法可能看起来是这样的。 (response
假定为 WebOb 风格 response 以前由视图代码计算的对象):from pyramid.security import forget headers = forget(request) response.headerlist.extend(headers) return response
如果没有 security policy 则此函数将始终返回空序列。
- remember(request, userid, **kw)[源代码]¶
返回标题元组序列(例如
[('Set-Cookie', 'foo=abc')]
)对此请求的响应。这些标头适用于“记住”传递的数据所隐含的一组凭据userid
和*kw
使用当前 security policy 。在视图函数体中,常见用法可能如下所示 (response
被假定为 WebOb -样式 response 先前由视图代码计算的对象):from pyramid.security import remember headers = remember(request, 'chrism', password='123', max_age='86400') response = request.response response.headerlist.extend(headers) return response
如果没有 security policy 则此函数将始终返回空序列。如果使用,则该词的组成和含义
**kw
必须得到调用代码和有效安全策略的同意。在 1.6 版本发生变更: 不推荐使用
principal
支持……的论据userid
以澄清其与安全政策的关系。在 1.10 版本发生变更: 删除了已弃用的
principal
参数。
常量¶
- NO_PERMISSION_REQUIRED¶
一种特殊的权限,它指示视图应该始终由完全匿名的用户执行,而不管默认的权限是什么,都绕过任何 authorization policy 这可能是有效的。它的实际值是字符串
'__no_permission_required__'
.
- Everyone¶
名为的特殊主体id
Everyone
. 此主体id被授予所有请求。它的实际值是字符串'system.Everyone'
.自 2.0 版本弃用: 搬到
pyramid.authorization.Everyone
.
- Authenticated¶
名为的特殊主体id
Authenticated
. 此主体id被授予包含任何其他非Everyone主体id的所有请求(根据 authentication policy ). 它的实际值是字符串'system.Authenticated'
.自 2.0 版本弃用: 搬到
pyramid.authorization.Authenticated
.
- ALL_PERMISSIONS¶
可以用作
permission
无条件匹配所有权限的ACE成员。例如,使用ALL_PERMISSIONS
可能是这样组成的:('Deny', 'system.Everyone', ALL_PERMISSIONS)
.自 2.0 版本弃用: 搬到
pyramid.authorization.ALL_PERMISSIONS
.
- DENY_ALL¶
一个方便的速记王牌,定义了
('Deny', 'system.Everyone', ALL_PERMISSIONS)
. 在使用“继承”安全策略的系统中,这通常用作ACL中的最后一个ACE,表示“不继承任何其他ACE”的概念。自 2.0 版本弃用: 搬到
pyramid.authorization.DENY_ALL
.
返回值¶
- Allow¶
ace“动作”(ace中的第一个元素,例如
(Allow, Everyone, 'read')
这意味着允许访问。ACL由一系列ace组成。它是一个字符串,它的实际值是'Allow'
.自 2.0 版本弃用: 搬到
pyramid.authorization.Allow
.
- Deny¶
ace“动作”(ace中的第一个元素,例如
(Deny, 'george', 'read')
这意味着拒绝访问。ACL由一系列ace组成。它是一个字符串,它的实际值是'Deny'
.自 2.0 版本弃用: 搬到
pyramid.authorization.Deny
.
- class Denied(s, *args)[源代码]¶
的实例
Denied
当与安全相关的API或其他 Pyramid 代码拒绝与ACL检查无关的操作。它的计算结果等于所有布尔错误类型。它有一个名为msg
描述拒绝的情况。- static __new__(cls, s, *args)¶
创建新实例。
- 参数:
fmt -- 解释拒绝原因的格式字符串。
args -- 参数存储并与格式字符串一起使用,以生成
msg
.
- property msg¶
指示生成结果的原因的字符串。
- class Allowed(s, *args)[源代码]¶
的实例
Allowed
当与安全相关的API或其他 Pyramid 代码允许与ACL检查无关的操作。它的计算结果等于所有布尔真类型。它有一个名为msg
描述允许的情况。- static __new__(cls, s, *args)¶
创建新实例。
- 参数:
fmt -- 解释拒绝原因的格式字符串。
args -- 参数存储并与格式字符串一起使用,以生成
msg
.
- property msg¶
指示生成结果的原因的字符串。
- class ACLDenied(ace, acl, permission, principals, context)[源代码]¶
的实例
ACLDenied
是pyramid.security.Denied
表示对ACL进行的安全检查被拒绝。它的计算结果等于所有布尔错误类型。它还具有以下属性:acl
,ace
,permission
,principals
和context
. 这些属性表示请求中涉及的安全值。它的__str__
方法为调试目的打印这些属性的摘要。相同的摘要与msg
属性。自 2.0 版本弃用: 搬到
pyramid.authorization.ACLDenied
.- static __new__(cls, ace, acl, permission, principals, context)¶
创建新实例。
- 参数:
ace -- 这个 ACE 匹配,触发结果。
acl -- 这个 ACL 包含
ace
.permission -- 所需的 permission .
principals -- 名单 principals 提供。
- property msg¶
指示生成结果的原因的字符串。
- class ACLAllowed(ace, acl, permission, principals, context)[源代码]¶
的实例
ACLAllowed
是pyramid.security.Allowed
表示允许对ACL进行显式安全检查。它的计算结果等于所有布尔真类型。它还具有以下属性:acl
,ace
,permission
,principals
和context
. 这些属性表示请求中涉及的安全值。它的__str__
方法为调试目的打印这些属性的摘要。相同的摘要与msg
属性。自 2.0 版本弃用: 搬到
pyramid.authorization.ACLAllowed
.- static __new__(cls, ace, acl, permission, principals, context)¶
创建新实例。
- 参数:
ace -- 这个 ACE 匹配,触发结果。
acl -- 这个 ACL 包含
ace
.permission -- 所需的 permission .
principals -- 名单 principals 提供。
- property msg¶
指示生成结果的原因的字符串。