金字塔安全扩展,用于注册多个基于上下文的身份验证策略。
pyramid_contextauth的Python项目详细描述
一个简单的金字塔扩展,用于注册基于上下文的身份验证策略。 已注册的策略的内省将添加到配置中,并将 显示在debugtoolbar中,并显示其关联的上下文。
frompyramid.securityimportremember,forgetfrompyramid.authenticationimportAuthTktAuthenticationPolicydefincludeme(config):config.include('pyramid_contextauth')config.register_authentication_policy(AuthTktAuthenticationPolicy('secret'),Context1,)config.register_authentication_policy(ContextAuthenticationPolicy(),(Context2,Context3),)classContext1(object):passclassContext2(object):passclassContext3(object):passclassContextAuthenticationPolicy(object):defauthenticated_userid(self,request):returnunauthenticated_userid(request)defunauthenticated_userid(self,request):"A dummy example"returnrequest.POST.get('userid')defeffective_principals(self,request):ifself.unauthenticated_userid(request):return['User']return[]defremember(self,request,prinicpal,**kw):returnremember(request,prinicpal,**kw)defforget(self,request):returnforget(request)
更改日志
0.7
- 策略检查每个资源沿袭并获取它获得的第一个策略。
- 在travis配置成功后添加coverall。
- 删除棱锥体版本约束。
0.6
- 正在删除装饰符authentication_policy:扩展不应 在内部实例化身份验证策略类。
0.5
- 将同一上下文注册到多个策略会引发配置错误。
- 用另一个策略重写上下文时注销旧策略。
- 更改注册验证策略和验证策略签名。
0.4
- 将内省项添加到已注册身份验证策略的配置中。
- 将register上下文重命名为register策略
0.3
- 中断向后兼容性为 ContextBasedAuthenticationPolicy.register_context现在需要config 实例作为第一个参数。
- 添加config.register_authentication_policy配置指令 接受上下文列表。
- 使用注册表数据注册策略而不是dict。
- 在执行此操作时添加装饰符authentication_policy以注册策略 配置扫描。
0.2.1
- 调整需求文件和依赖项。
0.2
- 通过添加需求文件来更新依赖项。
0.1.1
- 更改了register_context接口,该接口与0.0.3不兼容
0.0.3
- 在从includeme返回之前提交配置。
0.0.2
- 未提供时,authenticated_userid和effective_principals来自 使用超级类CallbackAuthenticationPolicy。
0.0.1
- 初始版本