要发送HTML电子邮件,我想拨打我自己应用的不同网址, 使用JSP来呈现电子邮件内容。
要执行对我自己的应用程序的HTTP调用,我首先尝试使用" http://localhost/emailreport"作为URL,但由于DNS错误而失败。 接下来我尝试了外部URL:
String appid = ApiProxy.getCurrentEnvironment().getAttributes()
.get("com.google.appengine.runtime.default_version_hostname").toString();
appid = appid.substring(0, appid.indexOf('.'));
URL url = new URL("http://" + appid + ".appspot.com/emailreport");
这样可行,但仅适用于web.xml中没有安全约束的页面。然而,我的电子邮件报告需要得到保护。
任何想法如何检索该页面?我是否需要使用服务帐户密钥?难道不是一个简单的伎俩吗?
增加:
我想通过将这些页面添加到web.xml来保护页面:
<security-constraint>
<web-resource-collection>
<web-resource-name>SecureName</web-resource-name>
<url-pattern>/mytask</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
答案 0 :(得分:0)
我使用以下解决方法解决了这个问题:
调用者创建一个秘密令牌并将其存储在MemCache中,并为请求添加一个标头。
端点读取该标头并将其与MemCache中的值进行比较。如果匹配,则处理请求,否则返回401。