如何检查用户是否是App Engine中Google Apps域的管理员?

时间:2011-05-10 14:50:12

标签: python google-app-engine oauth openid google-apps

我关注this tutorial以启用通过Google Apps Marketplace安装的应用的单点登录。现在,检查用户是否是Google Apps域管理员的最佳方式是什么?

编辑:我问这个是因为我们可以在manifest中定义“设置”和“管理”的链接。我认为我的应用中的这些网页不应该由Google Apps域的所有用户访问,只能由 admin 用户访问。然后我想我只需要根据域管理员来限制对这些页面的访问。

3 个答案:

答案 0 :(得分:3)

您可以通过市场中的optional step3安装流程将您的管理员用户带到您的应用,在那里您可以手动请求他们想要在您的应用中使用管理员权限的用户。

答案 1 :(得分:2)

您可能可以使用Provisioning API来retrieve用户帐户。在response中,您可以判断用户是否为管理员:

 <apps:login userName="JoeBloggs" suspended="false" admin="false"
    changePasswordAtNextLogin="false" agreedToTerms="true"/>

[edit]我看到你可以使用gdata-python-client library来调用RetrieveUser函数来使事情变得更加容易。

答案 2 :(得分:0)

您是否尝试过users.is_current_user_admin()