NTLM аутентификация недопустимый символ - PullRequest
0 голосов
/ 03 мая 2018

У меня проблема. Когда я пытаюсь получить доступ к своему веб-приложению, у меня появляется эта ошибка

Заголовок ответа 'WWW-Authenticate', значение которого 'NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAAAICAgAAAAAAAAAAAAAAAAA == \ n' содержит недопустимые символы, отменяющий запрос

Я читал об аутентификации NTLM и о том, как она работает, но я не понимаю, почему в ответе есть специальный символ \ n и как я могу это исправить.

У кого-нибудь есть такая же проблема?

ПОСТАНОВИЛИ

byte[] msg1 = { (byte) 'N', (byte) 'T', (byte) 'L',
                        (byte) 'M', (byte) 'S', (byte) 'S', (byte) 'P', z,
                        (byte) 2, z, z, z, z, z, z, z, (byte) 40, z, z, z,
                        (byte) 1, (byte) 130, z, z, z, (byte) 2, (byte) 2,
                        (byte) 2, z, z, z, z, z, z, z, z, z, z, z, z };
                res.setHeader("WWW-Authenticate", "NTLM "
                        + new sun.misc.BASE64Encoder().encodeBuffer(msg1).trim());
                res.sendError(HttpServletResponse.SC_UNAUTHORIZED);

В этом случае я добавил функцию trim (), и это работает для меня !!

1 Ответ

0 голосов
/ 29 мая 2018

ПОСТАНОВИЛИ

byte[] msg1 = { (byte) 'N', (byte) 'T', (byte) 'L',
                        (byte) 'M', (byte) 'S', (byte) 'S', (byte) 'P', z,
                        (byte) 2, z, z, z, z, z, z, z, (byte) 40, z, z, z,
                        (byte) 1, (byte) 130, z, z, z, (byte) 2, (byte) 2,
                        (byte) 2, z, z, z, z, z, z, z, z, z, z, z, z };
                res.setHeader("WWW-Authenticate", "NTLM "
                        + new sun.misc.BASE64Encoder().encodeBuffer(msg1).trim());
                res.sendError(HttpServletResponse.SC_UNAUTHORIZED);

В этом случае я добавил функцию trim (), и это работает для меня !! - travis_91

...