1

UserService を使用して登録を管理しています (フェデレーションおよび OAuth - ハイブリッド)。現在のユーザーが誰であるかを判断するために、「さまざまな」場所 (非サーブレットも) でアプリ内の User.getCurrentUser を使用します。

ユーザーがgetCurrentUserを使用するいくつかのメソッドを呼び出せるように、APIを提供しています。フィルターを追加して認証を制御することはできますが、UserService に、アプリの残りの部分で使用できるユーザー (User.getCurrentUser) を強制的にログインさせることはできません。

私は困惑しており、この時点で続行する方法がわかりません。

助けてください。

4

1 に答える 1

2

createLoginURL メソッドにリダイレクトすると、ユーザーは強制的にサインインします。

API メソッドをラップgetCurrentUser()して、null ユーザーが表示されるかどうかを検出し、その場合はログインを強制する必要があります。

お気に入り:

UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user == null) {
  session.setAttribute("isLoggedIn", true);
  session.setAttribute("authenticatingSite", "google");
  try {
    response.sendRedirect(userService.createLoginURL(redirectURLAfterLogin);
于 2013-02-05T06:51:19.930 に答える