完全な Web プラットフォーム (ストアなど) を構築する際に、アーキテクチャに関する質問があります。Java、Google App Engine (GAE)、Shiro、Restful API を考慮
プラットフォームの次の 3 つの主要コンポーネントがあるとします。
- フロントエンド UI
- 管理 UI
- バックエンド
これら 3 つのコンポーネントはすべて、GAE プラットフォームで個別のアプリケーションとして実行されます。
フロントエンドUIとは、「ユーザー」がシステムと対話するためのメインUIとして使用するUIを指し、Javascriptで設計され、Javascriptによってバックエンドを呼び出します
管理者 UIは、管理者がプラットフォーム、そのユーザー、およびそのコンテンツを管理するために使用する UI を指します。
バックエンドは、フロントエンド UI と管理 UI の両方が接続する RESTful サーバー/サービスであり、提供される Web サービスの実際のロジックを完了する API と API/user
とAPI を公開します。/admin
私の質問は、認証がどこに適合するか、認証をバックエンドに配置した場合、フロントエンド認証でどのように機能するかということです。ユーザーがメールまたはソーシャル ログイン (oauth など) でログインするとします。フロントエンドに独自の認証を提供してから、バックエンドまたはフロントエンドに転送する必要がありますか? これは単なる UI であり、login/ログアウトはバックエンド経由で行う必要があります。
Shiro を使用する場合、これをどのように達成できますか。フロントエンドの UI は、シングル ページ アプリケーション (SPA) やそのようなものであっても、できるだけ最小限にすることを本当に好みます。これにより、認証に関して、フロントエンド UI とバックエンドの両方のバインディング (両者が異なる GAE アプリケーションであることを考慮) はどうあるべきか