
mod_auth_cas로 사용자를 인증하는 Apache 2.4.27 뒤에서 실행되는 애플리케이션이 있습니다. 이 모듈은 인증된 사용자에 대한 속성을 헤더에 저장합니다. 헤더에 밑줄( )이 있어서 제거되는 헤더 하나에 문제가 있습니다 X-CAS-email_primary
. 몇 가지 검색을 수행한 후 아래 코드 조각을 VirtualHost 구성에 추가했습니다.
SetEnvIfNoCase X-CAS-email_primary ^(.*)$ fix_header=$1
RequestHeader set X-CAS-email-primary %{fix_header}e env=fix_header
분명하지 않은 경우 X-CAS-email_primary
에는 X-CAS-email-primary
. 이 코드는 부분적으로 작동합니다. 새 헤더가 표시되지만 값이 없습니다.
["HTTP_X_CAS_EMAIL_PRIMARY"]=> string(0) ""
나는 그것이 설정되었음을 확인했기 X-CAS-email_primary
때문에 무슨 일이 일어나고 있는지 잘 모르겠습니다. 어떤 제안이 있으십니까?
감사해요!
답변1
의 값은 RequestHeader set
표현식을 지원하며 표현식에는 요청 헤더의 값을 제공하는 req
(또는 ) 함수가 포함됩니다. http
따라서 이 지시문 하나만으로 원하는 작업을 수행할 수 있습니다.
RequestHeader set X-CAS-email-primary "expr=%{req:X-CAS-email_primary}"
깊숙이 파고 들어가야 한다선적 서류 비치이런 종류의 것을 찾으려면 거기에 있습니다.
구성이 작동하지 않는 이유는 확실하지 않지만 RequestHeader 후에 SetEnvIfNoCase가 평가되는 것 같습니다. 문서에서는 이를 파악하기가 쉽지 않습니다.