Аутентификация LTPA Worklight с помощью WebSphere
Привет, я использую Worklight 6.1 и WebSphere 8
Я получаю следующую ошибку
[ОШИБКА] FWLSE0059E: Ошибка входа в царство WASLTPAModule. SRVE0190E: Файл не найден: /login.html. [project Streebo] SRVE0190E: Файл не найден: /login.html [ОШИБКА] FWLSE0117E: Код ошибки: 4, описание ошибки: AUTHENTICATION_ERROR, сообщение об ошибке: Произошла ошибка при выполнении аутентификации с использованием loginModule WASLTPAModule, Идентификация пользователя недоступна. [проект Streebo] [проект Streebo] [ПРЕДУПРЕЖДЕНИЕ] SRVE0190E: Файл не найден: /login.html
Вот то, что я сделал
authenticationConfig.xml
<mobileSecurityTest name="mobileTests">
<testAppAuthenticity/>
<testDeviceId provisioningType="none" />
<testUser realm="WASLTPARealm" />
</mobileSecurityTest>
<!-- 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>
<!-- For websphere -->
<loginModule name="WASLTPAModule">
<className>com.worklight.core.auth.ext.WebSphereLoginModule</className>
</loginModule>
Ввод адаптера
WASAuth.xml
<procedure name="getAuth" securityTest="mobileTests"/>
WASAuth-impl.js
function getAuth() {
return {'key1':'authh'};
}
Обработчик вызовов
var challengeHandler;
challengeHandler = WL.Client.createChallengeHandler('WASLTPARealm');
initOptions.js
connectOnStartup : false,
main.js
function wlCommonInit(){
WL.Client.connect({
onSuccess: onConnectSuccess,
onFailure: onConnectFailure
});
и это происходит на успехе
function onConnectSuccess() {
alert('on connect success in wlCommonInit() in main.js');
var invocationData = {
adapter : 'WASAuth',
procedure : 'getAuth',
parameters : []
};
var options = {
onSuccess : function(res) {
alert('procedure getAuth success with res: '+res);
},
onFailure : function() {
alert('procedure getAuth Failures');
}
};
WL.Client.invokeProcedure(invocationData, options);
};
Таким образом, он входит в функцию успеха, и когда он вызывает адаптер и появляется следующая ошибка
[ОШИБКА] FWLSE0059E: Ошибка входа в царство WASLTPAModule. SRVE0190E: Файл не найден: /login.html. [project Streebo] SRVE0190E: Файл не найден: /login.html [ОШИБКА] FWLSE0117E: Код ошибки: 4, описание ошибки: AUTHENTICATION_ERROR, сообщение об ошибке: Произошла ошибка при выполнении аутентификации с использованием loginModule WASLTPAModule, Идентификация пользователя недоступна. [проект Streebo] [проект Streebo] [ПРЕДУПРЕЖДЕНИЕ] SRVE0190E: Файл не найден: /login.html
И у меня уже есть login.html и loginError.html в корневой папке моей войны, а также login.html в conf
Пожалуйста, помогите мне решить эту проблему
понимать
2 ответа
Убедитесь, что вы точно назвали файлы login.html и loginError.html. Также убедитесь, что вы поместили их в корень файла war, который вы развернули на своем сервере. Вы можете развернуть развернутый файл войны, чтобы дважды проверить. Также убедитесь, что ваш файл login.html имеет правильную структуру, как показано в примере:
<html>
<head>
<title>Login</title>
</head>
<body>
<form method="post" action="j_security_check">
<input type="text"
id="j_username"
name="j_username"
placeholder="User name" />
<input type="password"
id="j_password"
name="j_password"
placeholder="Password" />
<input type="submit" id="login" name="login" value="Log In" />
</form>
</body>
</html>
Как и структура вашей страницы loginError.html:
<html>
<head>
<title>Login Error</title>
</head>
<body>
An error occurred while trying to log in.
</body>
</html>
Для получения более подробных инструкций и устранения неполадок, пожалуйста, смотрите следующее:
Учебный модуль LTPA: http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/08_06_WebSphere_LTPA_based_authentication.pdf
Инструкции информационного центра LTPA https://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=%2Fcom.ibm.worklight.deploy.doc%2Fadmin%2Ft_configuring_WL_LTPA_realm.html
Для MobileFirst Platform v6.3
\ MobileFirstServerConfig \ сервера \ \ Worklight приложение
Найдите приложение, с которым вы пытаетесь протестировать ltpa.
Предполагая, что имя проекта - FormBasedAuth. Тогда соответствующий файл войны - FormBasedAuth.war
Используя WinRAR, чтобы открыть его.
Перейдите в рабочую среду студии, в своем проекте> разверните сервер> разверните conf> скопируйте файл login.html в FormBasedAuth.war, который уже открыт в WinRAR
Вы также можете создать loginError.html и поместить его в FormBaseAuth.war
Убедитесь, что вы поместили FormBaseAuth.war обратно в \ MobileFirstServerConfig \ servers \ worklight \ apps
Теперь в студии, просмотр сервера> Остановить тестовый сервер. Подождите, пока это не прекратится. Запустите тестовый сервер снова.
Теперь, когда вы тестируете, эта ошибка исчезнет.
Аналогичная процедура для автономного сервера, просто ваш военный файл может отличаться.