repoze.who的元数据缓存插件
项目描述
简介
repoze.who.plugins.metadata_cache 是为 repoze.who 框架 提供的一系列插件,它能够缓存和回放“一次性”用户元数据,特别针对SSO请求。
快速入门和示例应用
与CAS属性发布一起使用
您可以使用元数据缓存插件与 repoze.who.plugins.cas 一起使用,以捕获来自票据验证返回的元数据。
要这样做,配置一个与CAS插件中 attributes_name 相同名称的元数据缓存插件,并确保您使用的是至少CAS版本2(因此对于CAS插件设置 cas_version = 2.0 或更高)。在CAS的票据验证期间,将检索属性并将它们放入 repoze.who 身份,以便元数据缓存插件可以检索并保留。
以下是一个示例配置。最重要的是确保CAS插件的属性配置与为metadata_cache插件配置的name相匹配。这个非常基础的配置将用户属性存储在内存中(具体来说是一个Python字典)。
[plugin:casauth]
use = repoze.who.plugins.cas.main_plugin:make_plugin
cas_url = https://cas.example.com/cas/
cas_version = 3.0
attributes_name = attributes
rememberer_name = auth_tkt
[plugin:metadata_cache]
use = repoze.who.plugins.metadata_cache.memory:make_plugin
name = attributes
...
[identifiers]
plugins =
casauth
auth_tkt
[authenticators]
plugins =
casauth
auth_tkt
[challengers]
plugins =
casauth
[mdproviders]
plugins =
metadata_cache
Web服务器身份验证
您可以使用元数据缓存插件与前端Web服务器身份验证模块(例如Shibboleth)一起使用,以从环境或头部提取用户元数据,并减少对上层认证/Web服务器的依赖。
这个实现和示例将很快提供。
……以及更多
您还可以扩展此处可用的类,以便在用户详细信息通过环境或请求(头部、Cookie等)进入应用程序的任何地方。
如果您构建了您认为对全世界都有用的东西,请发送pull请求,看看它是否可以包含在内。
注意
小心上游的任何事物——服务器、代理,尤其是客户端——能够对请求或环境进行欺骗或注入可能会无意中影响所使用的元数据。粗心的配置可能会危及安全。
开发
要克隆此项目并运行测试套件,请运行以下命令
git clone git://github.com/davidjb/repoze.who.plugins.metadata_cache.git cd repoze.who.plugins.metadata_cache python bootstrap.py ./bin/buildout ./bin/test
发送包含要修复的内容、新功能或您认为可能有用的任何内容的pull请求。尽量记录您正在做的事情并保持代码整洁。没有合理的pull请求会被拒绝™。
鸣谢
David Beitey(davidjb),作者
文档
变更
0.1 (2013-04-24)
初始发布。[davidjb]
项目详情
repoze.who.plugins.metadata_cache-0.1.zip的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 14d8413c31ea28bea4bca1474dbb5681a39decdb6aada1f7da6210058d9bb01f |
|
MD5 | db292de909141c559b7fe7121109fc5d |
|
BLAKE2b-256 | b01d7eea8812989e6363912bccccdfce9cda7459eb629775e7870b11933c44fd |