在线文档教程

Bastion

Bastion - 限制对物体的访问

自2.6版以来已弃用:该Bastion模块已在Python 3中删除。

版本2.3中更改:禁用的模块。

注意

该文档已保留,以帮助阅读使用该模块的旧代码。

根据字典,堡垒是“强化区域或位置”或“被认为是要塞的东西”。这是该模块的合适名称,它提供了禁止访问某个对象某些属性的方法。它必须始终与rexec模块一起使用,以便允许受限模式程序访问某个对象的某些安全属性,同时拒绝访问其他不安全属性。

Bastion.Bastion(object[, filter[, name[, class]]])

保护对象对象,返回对象的堡垒。任何访问对象属性的任何尝试都必须由过滤器函数批准; 如果访问被拒绝,AttributeError将引发异常。

如果存在,过滤器必须是接受包含属性名称的字符串的函数,如果允许访问该属性,则返回true; 如果过滤器返回false,则访问被拒绝。默认过滤器拒绝访问以下划线('_')开头的任何函数。堡垒的字符串表示将在提供名称<Bastion for name>值的情况下进行; 否则,将被使用。repr(object)

,如果存在的话,应该是一个子BastionClass; 请参阅代码以bastion.py了解详细信息。覆盖默认BastionClass很少被需要。

class Bastion.BastionClass(getfunc, name)

实际实现堡垒对象的类。这是使用的默认类Bastion()。所述getfunc参数是返回当与属性作为唯一的参数的名称叫应被暴露到受限制的执行环境的属性的值的函数。名字被用来构建repr()了的BastionClass实例。