2013-08-15 4 views
2

Здесь ошибка я получаю от нашего сервера приложений WebSphere профиля либерти работает Worklight сервер:IBM Worklight 5.0.5 - Realm не определен в authenticationConfig.xml

defaultOptions:onFailure Procedure invocation error. Runtime: The realm 'SingleStepAuthRealm' is not defined in authenticationConfig.xml.

Это прекрасно работает на моем локальном сервере ,

Я восстановил и развернул файл WAR для настройки сервера на сервер и перезапустил его.

Возможно, это связано с тем, что версия удаленного сервера не совпадает с версией моего локального сервера? Локальная версия сервера: 5.0.5.20121129-1027

Вот мой authenticationConfig.xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<tns:loginConfiguration xmlns:tns="http://www.worklight.com/auth/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

     <!-- Licensed Materials - Property of IBM 
      5725-G92 (C) Copyright IBM Corp. 2006, 2012. All Rights Reserved. 
      US Government Users Restricted Rights - Use, duplication or 
      disclosure restricted by GSA ADP Schedule Contract with IBM Corp. --> 

    <!-- Uncomment the next element to protect the worklight console --> 
    <!-- <staticResources> 
     <resource id="worklightConsole" securityTest="WorklightConsole"> 
      <urlPatterns>/console*</urlPatterns> 
     </resource> 
    </staticResources> --> 

    <!-- Sample security tests 
     Even if not used there will be some default webSecurityTest and mobileSecurityTest 
     Attention: if using <testAppAuthenticity/> test below ,<publicSigningKey> element must be added to application-descriptor.xml as well. --> 

    <!-- <securityTests> 

     <mobileSecurityTest name="mobileTests"> 
      <testAppAuthenticity/> 
      <testDeviceId provisioningType="none" /> 
      <testUser realm="myMobileLoginForm" /> 
     </mobileSecurityTest> 

     <webSecurityTest name="webTests"> 
      <testUser realm="myWebLoginForm"/> 
     </webSecurityTest> 

     <customSecurityTest name="customTests"> 
      <test realm="wl_antiXSRFRealm" step="1"/> 
      <test realm="wl_authenticityRealm" step="1"/> 
      <test realm="wl_remoteDisableRealm" step="1"/> 
      <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/> 
      <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/> 
     </customSecurityTest> 

     <customSecurityTest name="WorklightConsole"> 
      <test realm="WorklightConsole" isInternalUserID="true"/> 
     </customSecurityTest> 

    </securityTests> --> 

    <realms> 
      <realm name="SingleStepAuthRealm" loginModule="SingleStepAuthLoginModule"> 
      <className>com.worklight.integration.auth.AdapterAuthenticator</className> 
      <parameter name="login-function" value="SingleStepAuthAdapter.onAuthRequired" /> 
      <parameter name="logout-function" value="SingleStepAuthAdapter.onLogout" /> 
      </realm> 

     <!-- For websphere --> 
     <!-- realm name="WASLTPARealm" loginModule="WASLTPAModule"> 
      <className>com.worklight.core.auth.ext.WebSphereFormBasedAuthenticator</className> 
      <parameter name="login-page" value="/login.html"/> 
      <parameter name="error-page" value="/loginError.html"/> 
     </realm --> 
    </realms> 

    <loginModules> 
      <loginModule name="SingleStepAuthLoginModule"> 
      <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className> 
      </loginModule> 

     <!-- For websphere --> 
     <!-- loginModule name="WASLTPAModule"> 
      <className>com.worklight.core.auth.ext.WebSphereLoginModule</className> 
     </loginModule --> 
    </loginModules> 

</tns:loginConfiguration> 

UPDATE:

Благодаря ответ Орландо, я смог различить серверные версии:
Версия сервера: 5.0.5.20121130-0919
Локальная версия: 5.0.5.20121129-1027

Версия (возможно, номер сборки, не знаю, как работают версии WL) отличается; однако я подозреваю, что незначительное несоответствие версии не является проблемой.

Вот что я пытался до сих пор отлаживать этот вопрос:

  1. Я следовал инструкциям в документации Worklight, чтобы построить и загрузить файл настройки сервера в соответствующий каталог на сервере.

    Вы можете найти эти шаги in this IC article под заголовком «Развертывание проекта».

  2. Я открыл файл WAR и заметил, что аутентификацииConfig.xml там нет! Итак, я решил, что вручную перетащил XML в ту же папку, на которой он находится на моем локальном сервере. В моем случае это каталог: /opt/IBM/Worklight/server/wlp/usr/servers/worklightServer/worklight.home/app_name/conf

  3. Я полагал, что это могло бы быть проблема с разрешениями, поэтому я set + rwx в файле. Еще нет кубиков.

  4. Возможно, он ищет другие файлы, которые находятся в этом каталоге на моем локальном сервере? Я загрузил их все и снова попробовал разрешения. Не повезло.

  5. Я также перезапустил сервер после каждого из этих шагов (и в случае шага 4 перезапустил его дважды, один раз с настройками по умолчанию и один раз с полными perms).

ответ

1

Вы попробовали предложение in this question?

В основном:

Сколько .war файлы вы развернуты на сервере приложений?
В Worklight 5 может быть только 1. Убедитесь, что это так.

+0

Я попытался удалить другие файлы войны и запустить сервер из app_name.war, но у меня возникла ошибка в том, что проект Worklight не инициализирован. Позже сегодня или в понедельник я собираюсь вернуться через весь процесс и дважды проверить все. Похоже, что это решение (я, вероятно, просто пропустил что-то очевидное в конфигурации), и я приму ответ, как только у меня это получится. – ctlacko

+0

Я так и не смог решить эту проблему. Однако мы обновились до Worklight 6, и эта проблема исчезла. Я буду принимать этот ответ, потому что он по-прежнему кажется наиболее вероятным решением. – ctlacko

3

Start, получая (удаленного) версии сервера, как описано here:

Worklight Server (все выпуски)

Если сервер запущен и работает, вы можете найти версию со следующим шаги.В противном случае перейдите к следующему разделу.

  • Убедитесь, что ваш сервер Worklight запущен.
  • Откройте консоль Worklight (http: //:/lightlight/console).
  • Нажмите на «О» ссылке в верхнем правом углу экрана.
  • Всплывающее будет отображаться показывая текущий сервер версии

Если сервер не работает, вы можете найти версия со следующими шагами

  • Найдите каталог, в котором установлен сервер Worklight.. (пример .: C: \ IBM \ Worklight)
  • Перейдите к \ WorklightServer
  • Откройте файл «worklight-jee-library.jar», используя любой инструмент архива, поддерживающий формат «zip».
  • После того, как банка расширена, откройте файл conf/worklight.properties.
  • В этом файле номер версии определяется свойством "build.version".
+0

Спасибо за ответ! Я понимаю, что я действительно задал два вопроса, и вы ответили одному из них. Хотел бы я согласиться с обоими! – ctlacko

Смежные вопросы