Здесь ошибка я получаю от нашего сервера приложений 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) отличается; однако я подозреваю, что незначительное несоответствие версии не является проблемой.
Вот что я пытался до сих пор отлаживать этот вопрос:
Я следовал инструкциям в документации Worklight, чтобы построить и загрузить файл настройки сервера в соответствующий каталог на сервере.
Вы можете найти эти шаги in this IC article под заголовком «Развертывание проекта».
Я открыл файл WAR и заметил, что аутентификацииConfig.xml там нет! Итак, я решил, что вручную перетащил XML в ту же папку, на которой он находится на моем локальном сервере. В моем случае это каталог: /opt/IBM/Worklight/server/wlp/usr/servers/worklightServer/worklight.home/app_name/conf
Я полагал, что это могло бы быть проблема с разрешениями, поэтому я set + rwx в файле. Еще нет кубиков.
Возможно, он ищет другие файлы, которые находятся в этом каталоге на моем локальном сервере? Я загрузил их все и снова попробовал разрешения. Не повезло.
Я также перезапустил сервер после каждого из этих шагов (и в случае шага 4 перезапустил его дважды, один раз с настройками по умолчанию и один раз с полными perms).
Я попытался удалить другие файлы войны и запустить сервер из app_name.war, но у меня возникла ошибка в том, что проект Worklight не инициализирован. Позже сегодня или в понедельник я собираюсь вернуться через весь процесс и дважды проверить все. Похоже, что это решение (я, вероятно, просто пропустил что-то очевидное в конфигурации), и я приму ответ, как только у меня это получится. – ctlacko
Я так и не смог решить эту проблему. Однако мы обновились до Worklight 6, и эта проблема исчезла. Я буду принимать этот ответ, потому что он по-прежнему кажется наиболее вероятным решением. – ctlacko