GAE チュートリアルに従って、私はそれを実行することができ、サーブレットはローカル開発サーバーで受信メールを受信できます。
受信メールがいつアプリケーションに送信されるかを理解している限り、リクエストの送信には管理者ログインが使用されますが、現在のユーザーを使用して取得しようとすると
User user = UserServiceFactory.getUserService().getCurrentUser();
ユーザーが null です。何が問題なのですか? 私のアプリでは、管理者は受信メールに対してさらに処理を行う必要があります。
どんな助けでも素晴らしいでしょう。
私の構成は次のとおりです。
<servlet>
<servlet-name>mailhandler</servlet-name>
<servlet-class>MailHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mailhandler</servlet-name>
<url-pattern>/_ah/mail/*</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<url-pattern>/_ah/mail/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
public class MailHandlerServlet extends HttpServlet
{
@Override
public void doPost( HttpServletRequest req, HttpServletResponse resp ) throws IOException
{
User u = UserServiceFactory.getUserService().getCurrentUser();
System.out.println( u );
}
}