-1

Java UserAdapterと Adapter ベースの認証を組み合わせようとしています

認証後にユーザー一覧を取得したいのですが、失敗します

サーバー側、アダプターベースの認証、AuthenticationAdapter-impl.js

function onAuthRequired(headers, errorMessage) {
  errorMessage = errorMessage ? errorMessage : null;

  return {
    authRequired: true,
    errorMessage: errorMessage
  };
}

function submitAuthentication(username, password){

  if (username==="admin" && password === "admin"){

    var userIdentity = {
      userId: username,
      displayName: username, 
      attributes: {
        foo: "bar"
      }
    };

    WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);

    return { 
      authRequired: false 
    };
  }

  return onAuthRequired(null, "Invalid login credentials");
}


function listUsers() {
  var resourceRequest = new WLResourceRequest("/adapters/UserAdapter/", WLResourceRequest.GET);
  return resourceRequest.send();
}

function onLogout() {
  WL.Server.setActiveUser("AdapterAuthRealm", null);
  WL.Logger.debug("Logged out");
}

そしてクライアント側では、

function listUsers(){
  busyIndicator.show();
  var invocationData = {
    adapter : "AuthenticationAdapter",
    procedure: "listUsers",
    parameters: []
  };

  WL.Client.invokeProcedure(invocationData, {
    onSuccess: listUsersSuccess, 
    onFailure: listUsersFailure
  });
}

function listUsersSuccess(result){
  WL.Logger.debug("Feed retrieve success");
  busyIndicator.hide();
  WL.Logger.debug(JSON.stringify(result));
  if (result.responseJSON.length > 0){ 
    displayUsers(result.responseJSON);
  } else {
    listUsersFailure();
  }
}

function listUsersFailure(result){
  WL.Logger.error("Feed retrieve failure");
  busyIndicator.hide();
  WL.SimpleDialog.show("Banking Application", "Service not available. Try again later.", [
    {
      text : 'Reload',
      handler : WL.Client.reloadApp 
    },
    {
      text: 'Close',
      handler : function() {}
    }
  ]);
}

onFailureレスポンスを返します

4

1 に答える 1