Pyramid 1.4升级2.x:AuthTkt与ACL授权策略替换方案咨询
从Pyramid 1.4升级到2.x:替换弃用的AuthTkt与ACL授权策略
核心替换方案
Pyramid 2.x将AuthTktAuthenticationPolicy迁移到了独立包pyramid_authkt,而ACLAuthorizationPolicy仍可继续使用(若收到弃用警告,是官方推荐更灵活的授权模式,但基础ACL场景下完全兼容原有逻辑)。
步骤1:安装依赖
首先安装拆分出来的AuthTkt专用包:
pip install pyramid_authkt
步骤2:替换代码
直接修改导入路径即可,原配置参数完全兼容:
from pyramid_authkt import AuthTktAuthenticationPolicy # 替换原导入路径 from pyramid.authorization import ACLAuthorizationPolicy from pyramid.config import Configurator def main(settings): authn_policy = AuthTktAuthenticationPolicy( "somesecret123", cookie_name="session-id", wild_domain=True, hashalg="sha512" ) authz_policy = ACLAuthorizationPolicy() config = Configurator( settings=settings, authentication_policy=authn_policy, authorization_policy=authz_policy, ) # 后续业务配置逻辑无需修改
额外说明
pyramid_authkt完全继承了原AuthTktAuthenticationPolicy的所有参数和行为,原有认证相关业务逻辑无需调整- 若想适配Pyramid 2.x的现代授权模式,可基于
pyramid.authorization.IAuthorizationPolicy自定义实现,但对于原有ACL架构,直接保留ACLAuthorizationPolicy即可稳定运行
内容的提问来源于stack exchange,提问作者smarak shailendra
相关产品推荐
相关产品推荐

