- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么这样做:
user.has_permission(permission, object)
和
user.checkPermission(permission, object)
返回不同的结果?
checkPermission 似乎是正确的结果。
最佳答案
因为它们是不同的函数。
has_permission
是AccessControl/users.py
中BasicUser
类的一个方法:
def has_permission(self, permission, object):
"""Check if the user has a permission on an object.
This method is just for inspecting permission settings. For access
control use getSecurityManager().checkPermission() instead.
"""
roles=rolesForPermissionOn(permission, object)
if isinstance(roles, str):
roles=[roles]
return self.allowed(object, roles)
虽然checkPermission
是定义在AccessControl/security.py
中的函数:
def checkPermission(permission, object, interaction=None):
"""Return whether security policy allows permission on object.
Arguments:
permission -- A permission name
object -- The object being accessed according to the permission
interaction -- This zope.security concept has no equivalent in Zope 2,
and is ignored.
checkPermission is guaranteed to return True if permission is
CheckerPublic or None.
"""
if (permission in ('zope.Public', 'zope2.Public') or
permission is None or permission is CheckerPublic):
return True
if isinstance(permission, basestring):
permission = queryUtility(IPermission, unicode(permission))
if permission is None:
return False
if getSecurityManager().checkPermission(permission.title, object):
return True
return False
has_permission
用于检查权限设置,而 checkPermission
用于访问控制。换句话说,用户可能没有对某个对象进行权限设置,但仍然可以通过其他一些安全策略机制访问。
关于plone - 为什么 checkPermission 和 has_permission 返回不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23983435/
我尝试通过 checkPermission() 方法获取目录权限,如代码中所示。 private static boolean dirPermissions(String dir, String pe
我正在尝试获取我的设备的 myime,然后将其以字符串变量的形式保存。但我不断收到此错误.. Attempt to invoke virtual method 'int android.content
如何检查应用程序是否有权读取或写入文件系统上的特定目录。我正在尝试这个: try { AccessController.checkPermission(new FilePermission(f
我正在尝试了解Java的权限模型。我尝试了这个示例代码: public static void main(String[] args) { File file = new File("/etc/p
当您进入控制台并尝试 window.webkitNotifications.checkPermission() 时,您会收到此错误; TypeError:无法读取未定义的属性“checkPermiss
为什么这样做: user.has_permission(permission, object) 和 user.checkPermission(permission, object) 返回不同的结果?
我一直在尝试解决在 Mac 上不使用 sudo 运行 Node 的问题,但我不断收到此消息: npm WARN checkPermissions 缺少对/Users/myuser/.npm-packa
我正在将 jdk 8 升级到 11。 我在 checkPermission 中加载了一些类方法然后安全管理器发出 recursive update异常(exception)。但使用 jdk1.8.0_
为什么这不会用 try catch 或 throw from mathod 来包围? import java.security.Permission; public class NewSecurity
在查询 Android 日历中的事件之前,我需要检查权限。为此,Android Studio 警告我需要在查询之前进行检查。自动生成的代码是这样的: if (ActivityCompat.checkS
本文整理了Java中org.apache.hadoop.yarn.security.YarnAuthorizationProvider.checkPermission()方法的一些代码示例,展示了Ya
我正在构建一个 SWING 应用程序,还需要编写一个自定义 SecurityManager。如果我写一个像这样扩展 SecurityManager 的空类 public class Sandbox e
每次在我的项目上运行 npm install 时,我都会收到以下错误: npm WARN checkPermissions Missing write access to /../node_modul
这是我的第一篇文章,所以我不确定回答我正在做的事情是否正确..哈哈 Jongryului-MacBook-Pro:~ jongryulpark$ npm install uglify-js -g np
注意:出于安全考虑,请不要使用标记的解决方案,而是使用 the highest voted one ! 原始问题: 我正在尝试使用此命令安装 monaca。 npm install -g monaca
我正在编写一个删除通话记录的应用程序。这是代码 public class PhoneStateReceiver extends BroadcastReceiver { @Override public
我是一名优秀的程序员,十分优秀!