Linux NTLM身份验证无效字符
我有个问题。当我尝试访问我的web应用程序时,出现了此错误 “NTLM tlrmtvntuaacaaaacgaaabgaaaicagaaaaaaa===”的响应头“WWW Authenticate”值包含无效字符,正在中止请求 我阅读了有关NTLM身份验证及其工作原理的信息,但我不理解为什么响应中有特殊字符\n以及如何修复它 有人有同样的问题吗Linux NTLM身份验证无效字符,linux,http,authentication,ntlm,Linux,Http,Authentication,Ntlm,我有个问题。当我尝试访问我的web应用程序时,出现了此错误 “NTLM tlrmtvntuaacaaaacgaaabgaaaicagaaaaaaa===”的响应头“WWW Authenticate”值包含无效字符,正在中止请求 我阅读了有关NTLM身份验证及其工作原理的信息,但我不理解为什么响应中有特殊字符\n以及如何修复它 有人有同样的问题吗 已解决 byte[] msg1 = { (byte) 'N', (byte) 'T', (byte) 'L',
已解决
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);
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()函数,这对我很有用 已解决
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);
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我正试图解决我的C#web请求中的401响应。你能给我举一些例子吗?这些例子展示了处理来自C#的NTLM身份验证的完整请求/响应对话?我正在尝试从SharePoint服务器访问网页。我使用SharePoint CSOM库访问网站、列表等,但要解析文档ID URL,我需要手动处理。@Steve-您应该将您的问题转到travis_91。