我工作的一个云终端后端并希望限制对管理用户的某些操作。用户授权云端点
我当前的代码是这样的:
@ApiMethod(httpMethod = "PATCH", name = "item.update", path = "items")
public Item update(Item newObject, User user)
throws UnauthorizedException, OAuthRequestException {
OAuthService oAuthService = OAuthServiceFactory.getOAuthService();
if (!oAuthService.isUserAdmin()) {
throw new UnauthorizedException("Only admin users can modify content.");
}
...
}
我知道应用程序引擎具有用户角色的概念,但我很好奇,如果端点 做。我已经使用OAuthService.isUserAdmin()调用尝试,但不是 似乎是工作得非常好和文档有一个大的老警告说
注:你不应该混淆身份验证的端点与身份验证有关的配置设置 https://developers.google.com/appengine/articles/auth在管理 控制台,在这里你还你 的web.xml https://developers.google.com/appengine/docs/java/config/webxml#Security_and_Authentication 文件中指定的用户登录需求的文章中描述 非端点 App Engine的Web应用程序。这种方法是不与端点使用。”
我必须建立某种形式的授权我使用则传递到更新方法User对象?有什么想法?
这是伟大的。我能够用你的建议完成我所需要的。我在'web.xml'中创建了一个JSON servlet给管理员角色,允许我从应用程序用户帐户设置或删除管理员标志。这样我只需使用我的App Engine管理员帐户登录,并将用户帐户(我的)设置为管理员。我喜欢我不必硬编码任何东西或手动触摸数据来启动它。 – rharter