2011-09-15 6 views
0

私はいつも問題で苦労しています。私は基本的なセットアップとして私に見えるので、多くのことが既に実装されているいくつかの簡単な解決策がなければならないと確信しています。コンテンツの一部が保護され、残りが公開されているgwt-appengineアプリ

私はGWTとappfactoryを使用してrequestfactoryを使用してアプリケーションを構築しています。このアプリには、誰もがアクセスする必要があるいくつかの「ページ」(実際にはMVPビュー)があります。それはホームページと、私たちが提供するサービスについての説明のようなものです。その後、あなたがログインする必要があるサービスを使用したい場合(Googleアカウントとすべて)。あなただけにログインしていると、アプリケーション内の他のビュー(ページ)にアクセスできます。問題は、これをどう対処するか、いくつかのページといくつかの要求の多いコールは公開されており、ログインしている人は利用可能でなければならないということです。

auth-constraintsタグは、web.xmlですべて破棄しても何もしないため、すでに破棄しています。

次の代替手段は、サーブレットフィルタを使用することです(費用デモのように)。これはうまくいく可能性がありますが、「公開されている」または保護されていないページがappengineデータストアのデータにアクセスする必要がない場合(およびそのドアを閉じたくない場合、ユーザーなど)。これは、リクエストファクトリではサーブレットが1つしかないため、フィルタを置くと、ユーザーがログインしていない場合にappengineですべての通信を遮断します。

私はこのフィルタを実装することを考えていました。ユーザーが一度ログインするとすべてのものを取得し、データストアから取得する必要がある「ホームページまたは情報ページ」に表示する可能性があるデータ用にRPCサービスを実装します。しかし、それは私のために少し過度に見える。

別の方法として、ユーザーが保護したいすべてのリクエストファクトリサービスメソッドにログインしていることを確認する方法があります。しかし、それはどちらかエレガントに見えません...

誰もが同じ問題を抱えていましたか?何か案は?

私はこれに関する助けに感謝したいと思います。

おかげで、

+0

他の人にも同様の問題があるようです:http://forum.springsource.org/archive/index.php/t-95318.html –

答えて

0

あなたは認証制約が「オール・オア・ナッシング」ですが、それは本当ではないことを言う - 彼らは、URLごとのです。詳細はhereを参照してください。また、サーブレット・フィルタとデータストア・アクセスの接続は非シーケンシャルです.2つはお互いに関係ありません。

関連する問題