python-金字塔:为什么不能在没有授权策略的情况下使用身份验证策略?

就像标题说的那样:为什么没有授权策略就不能使用身份验证策略?

仅设置身份验证策略将导致:

pyramid.exceptions.ConfigurationExecutionError: <class 'pyramid.exceptions.ConfigurationError'>:
    Cannot configure an authentication policy without also configuring
    an authorization policy (use the set_authorization_policy method)

显然,同时指定这两种策略通常很有意义……但是为什么金字塔会强迫您同时指定这两种策略?

我仅指定身份验证策略的动机(可能是幼稚的)是,目前,我希望“手动”处理授权,而不会涉及Pyramid的授权“东西”.

解决方法:

没有令人信服的理由为什么需要授权策略.我能说的是,值得尝试使系统适合ACLAuthorizationPolicy或构建自定义的.如果您不愿意采用这种方式,只需添加acl策略,不必担心.策略非常懒惰,只有在您对视图使用权限或通过has_permission调用时才调用策略.

上一篇:Postman学习之Authorization


下一篇:C#-ASP.NET Core授权策略:无法进入处理程序?