Я следую этому guide для интеграции моей системы с Windows AD. Поэтому, когда кто-то заходит на сайт пользователя домена Windows, он может автоматически войти в систему. Если пользователь не использует пользователя домена, я хочу, чтобы система возвращала нормальную страницу входа в html.Chrome show ERR_UNEXPECTED при неудачной аутентификации SPNEGO Kerberos
Теперь у меня есть проблема, когда я использую пользователя домена, он отлично работает. Но когда я использую пользователя, не являющегося доменом, мне возвращают страницу с ошибкой ERR_UNEXPECTED. Вы можете увидеть дамп tcp, систему уже вернуть 401 и страницу входа в систему html, но chrome show error.
Может ли кто-нибудь дать мне несколько советов?
виртуальной машины Java: 1.8.0_111
КАС-сервера ядро: 3.3
КАС-сервер-поддержка-SPNEGO: 3.3
Хром: 55
TCP самосвала потока с помощью Wireshark (не являющийся доменом)
GET /cas/login?service=http%3A%2F%2Fserver.ictsm.com%3A8080%2Fapp%2F&_validateRequest_=7RBrB6AIqjijhw5c4LjTBvc1vjpHJHWafif1MXGmMr8ZyI22thbzCtqTYkCUfKOn HTTP/1.1
Host: server.ictsm.com:8080
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: JSESSIONID=3A632B243F57094E9468F972D2BE2E04A48835CCEE575DC9F8B2527FA81E23AD6D48BBF69A6D35623080096949F1FB8092F4
HTTP/1.1 401 Unauthorized
Server: nginx
Date: Mon, 16 Jan 2017 07:19:00 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache
WWW-Authenticate: NTLM
WWW-Authenticate: Negotiate
Content-Language: zh-CN
my login page html
GET /cas/login?service=http%3A%2F%2Fserver.ictsm.com%3A8080%2Fapp%2F&_validateRequest_=7RBrB6AIqjijhw5c4LjTBvc1vjpHJHWafif1MXGmMr8ZyI22thbzCtqTYkCUfKOn HTTP/1.1
Host: server.ictsm.com:8080
Connection: keep-alive
Cache-Control: max-age=0
Authorization: Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: JSESSIONID=3A632B243F57094E9468F972D2BE2E04A48835CCEE575DC9F8B2527FA81E23AD6D48BBF69A6D35623080096949F1FB8092F4
HTTP/1.1 401 Unauthorized
Server: nginx
Date: Mon, 16 Jan 2017 07:19:00 GMT
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache
WWW-Authenticate: Negotiate TlRMTVNTUAACAAAAEgASADAAAAAFAoEAAAAAAAAAAAAAAAAAAAAAADoAOgBCAAAAaQBjAHQAcwBtAC4AYwBvAG0AAgASAGkAYwB0AHMAbQAuAGMAbwBtAAEAHABKAEMASQBGAFMAMQAzAF8AMQA3ADQAXwA2AEMAAAAAAA==
Content-Language: zh-CN
my login page html
Вам нужно больше информации о клиентских системах здесь: являются пользователи домена AD приходят в использовании рабочие станции, которые подключены к домену AD, и ваши пользователи, не подключенные к домену, используя рабочие станции (например, ноутбуки), которые не подключены к домену? Здесь ли VPN, или все в одной внутренней сети? –
Да, доменный пользователь присоединился к домену AD, а не к домену, присоединился к другому домену AD, и в моей сети нет VPN. Проблема кажется хром-поведением, когда хром найденный домен не соответствует, он просто возвращает ошибку. Я попытался добавить WWW-аутентификацию: анонимный к http-заголовку, а не работает. – zhufeizzz