2013-04-22 2 views
1

Я попытался реализовать очень простую аутентификацию на основе формы с помощью приложения Worklight. Однако, когда я активирую функцию входа в систему, она останавливается с ошибкой 404, говоря, что/apps/services/j_security_check не может быть найден. Как ни странно, когда я запускаю образец проверки подлинности на основе формы с сайта IBM developerWorks, он работает отлично. Я не могу понять, в чем разница, все функции, которые связаны с аутентификацией, точно такие же, но с моим собственным приложением я получаю это сообщение об ошибке. Вот соответствующая часть от источника:Подтверждение подлинности на основе фона: j_security_check не найден

var sampleAppRealmChallengeHandler = WL.Client.createChallengeHandler("SampleAppRealm"); 

sampleAppRealmChallengeHandler.isCustomResponse = function(response) { 
    if (!response || response.responseText === null) { 
     return false; 
    } 
    var indicatorIdx = response.responseText.search('j_security_check'); 

    if (indicatorIdx >= 0){ 
     return true; 
    } 
    return false; 
}; 

sampleAppRealmChallengeHandler.handleChallenge = function(response) { 
    $.mobile.changePage($('#Login')); 
    $('#passwordInputField').val(''); 
}; 

sampleAppRealmChallengeHandler.submitLoginFormCallback = function(response) { 
    var isLoginFormResponse = sampleAppRealmChallengeHandler.isCustomResponse(response); 
    if (isLoginFormResponse){ 
     sampleAppRealmChallengeHandler.handleChallenge(response); 
    } else { 
     $.mobile.changePage($('#page0')); 
     sampleAppRealmChallengeHandler.submitSuccess(); 
    } 
}; 

function proceedWithLogin() { 

    console.log("proceedWithLogin"); 

    var reqURL = '/j_security_check'; 
    var options = {}; 
    options.parameters = { 
     j_username : $('#loginEmail').val(), 
     j_password : $('#loginPassword').val() 
    }; 
    options.headers = {}; 
    sampleAppRealmChallengeHandler.submitLoginForm(reqURL, options, sampleAppRealmChallengeHandler.submitLoginFormCallback); 
} 

Любая идея, что может быть причиной этого? Есть ли скрытая настройка проекта, которую я забыл? Благодаря!

ответ

1

Похоже, что это была проблема с проектом Worklight. Я создал новый проект и скопировал все, и теперь он работает. Не знаю, в чем проблема, но она ушла.

2

Возможно, вы пытаетесь отправить свои верительные грамоты до того, как ответ получил форму? Это объясняет получение 404 j_security_check не найденным.

+0

Не то, чтобы я знал. Я запускаю функцию continueWithLogin, когда пользователь нажимает кнопку входа, после ввода имени пользователя и пароля. До этого я не делаю ничего логичного. –

+0

Это происходит каждый раз, когда вы пытаетесь войти в систему, или только один раз каждый раз и снова. Я видел ту же проблему - но это просто изредка 404s. – RenegadeAndy

+0

Каждый раз. –

0

Я думаю, что вы не развернули адаптер. Можете ли вы попробовать протестировать после развертывания DummyAdapter, щелкнув правой кнопкой мыши по нему -> Запустить как -> Развертывать адаптер.

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

  • Нет связанных вопросов^_^