Google app engine google应用程序引擎restful web服务身份验证
我用SpringMVC和JSP创建了一个简单的GoogleAppEngine web应用程序。此应用程序 配置为仅允许管理员用户访问Google app engine google应用程序引擎restful web服务身份验证,google-app-engine,rest,spring-mvc,Google App Engine,Rest,Spring Mvc,我用SpringMVC和JSP创建了一个简单的GoogleAppEngine web应用程序。此应用程序 配置为仅允许管理员用户访问 <security-constraint> <web-resource-collection> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-metho
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
/*
收到
邮递
管理
保密的
它还包含在web控制器中定义的几个restful web服务方法。这些方法的客户端可以是带有SpringREST模板的java应用程序,也可以是基于Web的客户端
由于RESTfulWeb服务是无状态的,所以如何使从客户机发送的每个http请求都经过了GAE的身份验证
我现在面临的问题是,每个请求返回的http响应都包含google登录页面内容。google提供了一个框架,可以用它的。特别是,您应该查看有关的部分 如果您有GCE不适合的需求(我看到您正在使用Spring),那么Spring有一个很好的OAuth项目,您可以使用它来实现您的目标。 但是请注意,实现OAuth可能是一项相对密集的任务,根据您的需求和受众,您可能会满足于更简单、可能更不安全或标准的解决方案。Amazon的API还可以为您提供如何保护自己的API的想法 作为“其他”不太推荐的解决方案的一个示例,您可能只需要为每个请求设置一个头值,并检查它是否与服务器上接受的值列表相匹配。或者,您可以使API有状态,在第一次调用中使用登录名,然后将会话传递给rest调用
您的最终解决方案很可能取决于您的具体需求。谷歌提供了一个框架,可以用它的。特别是,您应该查看有关的部分 如果您有GCE不适合的需求(我看到您正在使用Spring),那么Spring有一个很好的OAuth项目,您可以使用它来实现您的目标。 但是请注意,实现OAuth可能是一项相对密集的任务,根据您的需求和受众,您可能会满足于更简单、可能更不安全或标准的解决方案。Amazon的API还可以为您提供如何保护自己的API的想法 作为“其他”不太推荐的解决方案的一个示例,您可能只需要为每个请求设置一个头值,并检查它是否与服务器上接受的值列表相匹配。或者,您可以使API有状态,在第一次调用中使用登录名,然后将会话传递给rest调用 您的最终解决方案很可能取决于您的确切要求