Chrome-브라우저 쿠키를 삭제 한 후에도 웹앱에 자동으로 인증되는 이유는 무엇입니까?


13

Chrome을 사용하여 웹 애플리케이션에 액세스하고 있습니다. 앱에서 로그 아웃하고 모든 Chrome 기록 / 쿠키 / 등 (현재 동일한 기록 삭제 영역에서 Chrome이 처리하는 플래시 쿠키)을 지우고 사이트에 다시 액세스하면 메시지가 표시 되지 않고 자동으로 로그인됩니다 신임장.

그런 다음 시크릿 모드에서 Chrome을 시작했으며 동일한 동작을 재현 할 수있었습니다. 그러나 시크릿 모드에서 첫 번째 로그온 메시지가 표시되었습니다 .

웹 응용 프로그램은 Internet Explorer 10에서 예상대로 작동합니다.

응용 프로그램에 대한 정보 :

  • NTLM 인증을 사용하는 Sharepoint 사이트
  • 사용자 이름이 domain \ username 이므로 자격 증명은 Active Directory 기반입니다.
  • 인터넷에 연결되어 있으며 로컬 Windows 계정 인 Windows PC간에 AD 관계가 없습니다. 다시 말해, (로컬로 로그온 한 사용자와 PC를 의미 함)는 AD 도메인의 일부가 아닙니다.
  • 사이트가 포트 443에서 SSL을 실행 중입니다

Chrome에서 자동으로 인증되는 이유는 무엇입니까?


AD를 사용하는 경우 기본 http 인증을 사용하지 않을 수 있습니다. AD 자격 증명을 이미 인증 한 경우 Chrome에서 다시 인증을 요청하지 않는 것일 수 있습니다.
Ramhound

@Ramhound-잘 잡았습니다. F12 도구를 사용하여 NTLM 인증을 사용하고 있는지 확인했습니다. 그러나 어떤 경우에도 모든 브라우저 쿠키를 지우면 사이트에서 어떻게 기억합니까? 내가 이전과 같은 사람인지 확인하려면 여전히 세션 메커니즘이 필요합니다. 또한 명확히하기 위해 내 유일한 인증은 브라우저를 통한 것입니다. 예를 들어 도메인과 다른 방식으로 인증하지 않으며 내 컴퓨터와 도메인 사이에 관계가 없습니다.
Howiecamp

@Ramhound - 또한 IE는 것을 잊지 마세요 되어 나를 다시 묻지.
Howiecamp

Fiddler 또는 Wireshark를 사용하여 로그인 자격 증명으로 자동 Kerberos / SPNEGO 인증을 수행하는지 확인하십시오 ( www-authentication:HTTP 헤더 등을 찾으십시오 ). IP 등을 기반으로 로그인을 캐싱하고있을 수 있습니다. 이것은 실제로 서버 측에서 디버깅 해야하는 문제이지만 적어도 클라이언트 측에서는 클린 세션에서 어떤 종류의 인증 (있는 경우)과 어떤 정보 (있는 경우)를 볼 수 있습니다 브라우저가 원격 사이트로 전송 중입니다.
allquixotic

1
It's a Sharepoint site using NTLM authentication-NTLM 인증의 전체 요점은 인증을 요구하지 않는다는 것입니다. 자격 증명이 자동으로 전달됩니다. 다른 사용자로 인증하려면 브라우저를 다시 시작하고 다른 사용자로 실행하십시오.
Zoredache

답변:


5

나는 같은 문제가 있습니다. 자격 증명을 사용하여 한 웹 사이트에 로그온했지만 다른 웹 사이트를 사용하여 로그온 할 수 없습니다. 로그 오프했다가 다시 로그온하려고하면 Chrome이 요청없이 인증 헤더를 자동으로 넣습니다. 사이트는 로컬 사용자 데이터베이스 (AD는 없지만 일반 .htpasswd 파일)를 사용하고 기본 인증을 사용합니다.

이미 모든 쿠키와 저장된 비밀번호를 청소하려고했습니다. 불운. 그리고 이것은 Chrome과 한 PC에서만 발생합니다 (Google 계정이있는 Chrome의 다른 PC에서는 제대로 작동하고 로그온 후 credenticals를 요청합니다)

내 주요 목표는 다른 사용자로 인증하는 것이기 때문에 문제에 대한 해결 방법을 찾았습니다. 피들러를 실행하고 거기서 브레이크 포인트를 활성화했습니다. 따라서 Authorization 헤더로 요청하면 401 응답을 강요하여 인증 창이 나타납니다. 그런 다음 필요한 자격 증명을 제공했으며 문제가 해결되었습니다.

그러나 자격 증명이 저장된 질문에 대답하지 않습니다.


2

해당 사이트는 HTML5의 쿠키와 같은 로컬 저장소 [1] [2] 를 사용하고있을 것입니다 .

로컬 저장소를 지우는 방법에 대한 질문을 받았지만 불행히도 Chrome은 현재 브라우징 데이터 지우기 대화 상자 에 로컬 저장소를 포함하지 않습니다 . 그 동안 사용자 데이터 디렉토리Local Storage폴더 에서 해당 사이트에 해당하는 파일을 삭제하여 수동으로 수행 할 수 있습니다 .


0

Chrome 설정에서 "Chrome을 닫을 때 백그라운드 앱 계속 실행"을 선택 취소하고 브라우저 데이터를 지우십시오.


0

이 질문에 대한 답변은 아니지만 자격 증명을 변경하는 해결 방법입니다.

  1. 인터넷 옵션으로 이동
  2. 보안 탭을 클릭하십시오
  3. 웹 사이트가 어떤 영역에 있다고 생각하는지 가장 잘 추측하십시오. 저에게는 회사 인트라넷 사이트에서 잘못된 자격 증명을 사용하고 있었고 도메인 관리자가 자동으로 "로컬 인트라넷"에 URL을 추가했습니다. "사이트"를 전혀 편집 할 권한이 없었습니다. 적어도 볼 수있었습니다.
  4. 해당 영역에 대해 "사용자 지정 수준 ..."을 클릭하십시오.
  5. 맨 아래로 스크롤하여 "사용자 이름 및 비밀번호 프롬프트"를 선택하십시오.
  6. "확인"을 클릭하여 저장
  7. Chrome을 다시 시작하여 새로운 설정을 가져옵니다.
  8. 해당 웹 사이트로 직접 이동하십시오.
    처음에 기본 인트라넷 웹 사이트 (내 홈 페이지)를 입력하라는 메시지가 표시되고 자격 증명을 입력했습니다. 그런 다음 도메인이 동일하지만 하위 도메인이 다른 해당 사이트의 링크를 클릭했습니다. 나는 다시 프롬프트되지 않았다. Chrome을 다시 시작하고 첫 번째 프롬프트에서 취소했으며 해당 URL로 직접 이동하면 프롬프트가 표시되어 해당 사이트의 자격 증명을 변경할 수있었습니다.
  9. "올바른"계정으로 성공적으로 인증되면 Chrome에서 최신 자격 증명을 알고 있으므로 자동 로그인 설정을 다시 변경할 수 있습니다.

아이디어에 대한 크레딧은 https://sysadminspot.com/windows/google-chrome-and-ntlm-auto-logon-using-windows-authentication/ 으로 이동 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.