java - 从 Java 客户端连接到 App Engine 上的管理员安全 Web 服务

标签 java web-services google-app-engine authentication oauth

我有一个简单的 Java 工具,用于调用 App Engine 上的 Web 服务,以帮助我进行维护和管理。我目前通过仅允许使用 web.xml 文件进行管理员访问来保护页面,

<security-constraint>
    <web-resource-collection>
        <web-resource-name>xxxxxx</web-resource-name>
        <url-pattern>/xxxxxx</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>

当浏览器通过身份验证过程进行调用时,这很好,但如果我想使用 Java 客户端访问页面,我的方法应该是什么?

最佳答案

通常,您的每个请求都必须包含允许其执行的凭据。所有没有此类凭据的请求都会被拒绝。

以最简单的形式,您可以在请求中包含一个客户端 secret (一个很难猜测的长随机字符串)。您的代码将包含此 secret ,而来自外部的请求不会知道包含它。

要获得更安全/稳健的实现,您可以查看 existing library ,但对于一个简单的工具来说可能太多了。

关于java - 从 Java 客户端连接到 App Engine 上的管理员安全 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092769/

相关文章:

java - java中输入字符串无法解析为整数

java - 找不到类 [org.apache.derby.jdbc.ClientDriver]。尝试连接到数据库时

python - suds 不返回 web 服务方法

使用通配符证书通过 SSL 的 C# Web 服务调用 (asmx)

java - jpanel无法制作7行2列的gridlayout

java - 通过应用程序名称而不是bean名称访问Web服务oracle 12c?

google-app-engine - GAE 1.8.8更新后,不再显示来自Google Cloud Storage的图像

python - Google App Engine + PyCrypto =/dev/urandom 不可访问

java - GAE 必须先调用 set*BlobStorage() 之一

java - 每天在集群环境中运行 Quartz Scheduler