Проблема с аутентификацией имени пользователя и пароля в моем мидлете - PullRequest
0 голосов
/ 28 сентября 2011

Я изменил логин и внедрил это вместо этого.

 public void login() {         

        HttpConnection c = null;
        InputStream is = null;
        StringBuffer str = new StringBuffer();

        String url = "http://101.00.00.000/...../"
                + "?user=" + getUsername().getString().trim()
                + "&password=" + getPass().getString().trim();
        try {
            c = (HttpConnection) Connector.open(url);
            is = c.openInputStream();

            int len = (int)c.getLength();
            int ch;
            String getS = "";
            while((ch = is.read()) != -1){
                str.append((char)ch);
                getS = str.toString();
                String msg = "Login successful";
                System.out.println(getS.substring(0, getS.length()));
                if (getS.substring(0, 16).equals(msg)){
                System.out.println(getS);
                switchDisplayable(null, svgMenu.getSvgCanvas());
            }else{
                switchDisplayable(null, getAlert2());
//            }
            }

            System.out.println(getS);



        } 
        catch (IOException exception) {
            try {
                if (is != null)
                  is.close();
              if (c != null)
                  c.close();
                exception.printStackTrace();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        } 
    }

Ответ от URL на отладку дал правильный ответ, что вход в систему прошел успешно, т.е. в командной строке. Но я заметил, что сравнение строк не возвращает правильную логику то есть

if (getS.substring(0, 16).equals(msg)){
                    System.out.println(getS);
                    switchDisplayable(null, svgMenu.getSvgCanvas());
                }

Оператор if никогда не выполняется. Что мне делать.

1 Ответ

0 голосов
/ 28 сентября 2011

Вы допустили ошибку на стороне сервера. Потому что вы отправляете строковое значение имени пользователя и пароля со стороны клиента (мобильный). вам нужно проверить на стороне сервера. Перед этим вам необходимо проверить наличие пробелов в имени пользователя и пароле на стороне клиента (мобильный). используйте getUsername().getString().trim() и getPass().getString().trim(), а также при необходимости проверьте регистр символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...