如何限制对当前用户访问Google App Engine模型的实例?

时间:2009-09-10 15:03:53

标签: google-app-engine permissions

我昨天找到了答案(今天再次找到链接时遇到了一些麻烦)。我看到的链接解决了如何通过重载db.UserProperty来限制对Google App Engine模型实例的访问的问题,如此:

class CurrentUserProperty(db.UserProperty):

  def checkCurrentUser(self, value):
    if value != users.get_current_user():
      raise db.BadValueError(
          'Property %s must be the current user' % self.name)
  return value

  def __init__(self, verbose_name=None, name=None):
    super(CurrentUserProperty, self).__init__(
      verbose_name, name, required=True, 
      validator=self.checkCurrentUser)

# then, in the model to have limited access:
def MyModel(db.Model):
    owner = CurrentUserProperty()

由于我在找到这个链接时遇到了很多困难,我将打开这个问题(即使问题自行解决)。但是,一般问题是如何在Google App Engine上创建权限系统,以便只有某些用户(例如“所有者”)可以访问模型的特定实例。如果您对此有各自的建议,我会非常喜欢您的想法。

感谢您的阅读。

布赖恩 附:为什么总是得到“你问的问题似乎是主观的,可能会被关闭。”现在每当有人问一个问题?该警告是否应该指向某些客观标准,指出警告的原因?

0 个答案:

没有答案