1

사람들에게 두 번 로그인하도록 요청하지 않기 위해 하나의 하위 도메인에서 다른 하위 도메인으로 기본 HTTP 인증을 전달하려고합니다.HTTP 하위 인증이 다른 하위 도메인으로 전달되었습니다.

첫 번째 하위 도메인은 PHP를 사용할 수 있으며 두 번째 하위 도메인은 ASP 응용 프로그램입니다. ASP 응용 프로그램은 기본 HTTP 인증 프롬프트를 요청합니다 (일단 제출하면 웹 응용 프로그램에 액세스 할 수 있음).하지만 내 목표는 올바른 로그인을 강제로하도록하여 사용자에게 메시지를 표시하지 않고 웹에 액세스 할 수 있도록하는 것입니다. 바로 앱. 내가 시도한 PHP 측면에서

다음 : 나는 또한 성공적으로 헤더 인증을 가지고 있지만,이 같은 때에도 그 다음 페이지에 전달하지 않는 것
$base64value = base64_encode($value); 
setcookie("Authorization",$base64value, time()+3600*24); 

header('WWW-Authenticate: Basic realm="'.$base64value.'"'); 

또한 쿠키를 사용하여 도메인을 운이 좋게 설정하려고 시도했습니다. 쿠키를 통해 HTTP 기본 인증을 통과 할 수 없습니까? 그것은 2 개의 다른 기술처럼 보인다.

답변

2

기본 인증은 쿠키가 아니라 웹 클라이언트가 계산하는 HTTP 헤더 Authorization을 사용합니다. 그래서 예, 당신은이 기술로 인증을 통과 할 수 없습니다.

인증을 다시 설계해야합니다. reverse-proxying의 사이트를 보거나 CAS 서비스를 설정할 수 있습니다.

0

너는 원하지 않아. setcookie; 인증 헤더를 복사하면됩니다.

header('Authorization: " . $_SERVER['AUTHORIZATION']); 

내가 작동하는지 알려주세요.

편집 : 오. 그건 잊어 버려. 네가 프록 싱 중이라고 생각 했어. 그래, 그 일에 대해서는 아무 것도 할 필요가 없습니다. 첫 번째 도메인의 서버 측에서 두 번째 도메인에 대한 Authorization 헤더에 영향을 줄 수는 없습니다.

관련 문제