【问题标题】:How do I limit access to a GAE Datastore如何限制对 GAE 数据存储的访问
【发布时间】:2015-02-16 16:42:14
【问题描述】:

我是 GAE 的新手,我正在努力思考如何限制用户在数据存储区中可以看到的内容。到目前为止,我发现的唯一 oauth 示例可以让我访问该函数或不让我访问该函数;

if (user == null) throw new UnauthorizedException("User is Not Valid");

举个简单的例子,假设登录用户可以将作者和书名添加到同类书籍中,并且插入会自动添加用户的电子邮件或 googleID。

如果我只想让这个用户看到他的书,那么在获取时我会将 googleid 添加到过滤器中。这很容易。 (这是最好的方法吗?)

但是,如果我希望 Admin_user 用户能够查看所有书籍,该怎么办。作为 Author_admins 的人只能查看具有特定作者的书籍。 (这是一个人为的例子诶)

我基本上只是根据数据存储过滤器控制数据。有一个 Kind 呼叫人们并列出他们可以大声看到的 Kinds 和实体,还是有更好的方法?

【问题讨论】:

  • 这个问题与应用引擎无关,寻找有关如何构建具有多个用户和角色的简单应用程序的教程。
  • 我不知道在没有应用引擎的情况下使用数据存储的方法,我看不到数据存储如何内置任何安全性。据我所知,应用引擎对实现数据存储的问题进行了彻底改造。非常感谢您的谷歌搜索建议。我没想到。
  • @RonH,要使用不带应用程序引擎的数据存储区,请参阅 cloud.google.com/datastore/docs - 是的,它具有内置安全性,因为您需要凭据才能访问它,请参阅 cloud.google.com/datastore/docs/apis/javadoc 关于 getServiceAccountCredential 的信息例子。

标签: java google-app-engine oauth-2.0 google-cloud-datastore


【解决方案1】:

也许您正在为不同类型的用户寻找使用不同命名空间的多租户。这是文档:https://cloud.google.com/appengine/docs/java/multitenancy/multitenancy

【讨论】:

  • 这是一个很好的起点。谢谢!有谁知道关于多租户的任何非常好的教程?谷歌提供的留言簿是好的,但其他的可能会更好。
  • This 也很有帮助。
  • this也是如此
  • 很高兴听到这个消息!让我知道您最终是如何在您的应用程序中实现此设计的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
相关资源
最近更新 更多