ฉันกำลังเรียกใช้แอปพลิเคชันใน Apache 2.4
แอปพลิเคชันให้บริการจาก /usr/share/myapp/cgi-bin
. การเข้าถึงแอปพลิเคชันนี้จำกัดเฉพาะผู้ที่ตรวจสอบสิทธิ์กับ Shibboleth เท่านั้น การกำหนดค่า (จนถึงปัจจุบัน) มีลักษณะดังนี้:
DocumentRoot /usr/share/myapp/cgi-bin
<ไดเรกทอรี /usr/share/myapp/cgi-bin>
สคริปต์ SetHandler cgi
AuthType ชิบโบเลธ
ต้องการผู้ใช้ที่ถูกต้อง
</ไดเร็กทอรี>
ฉันต้องการให้ผู้ใช้บางรายสามารถเข้าถึงแอปพลิเคชันได้ แต่มีชุดตัวแปรสภาพแวดล้อมพิเศษ ดังนั้นฉันจึงเปลี่ยนด้านบนเป็น:
DocumentRoot /usr/share/myapp/cgi-bin
ScriptAlias "/เลียนแบบ" "/usr/share/myapp/cgi-bin"
<สถานที่ /ปลอมตัว>
AuthType ชิบโบเลธ
SetEnv IMPERSONATE_USER johndoe
</สถานที่>
<ไดเรกทอรี /usr/share/myapp/cgi-bin>
สคริปต์ SetHandler cgi
AuthType ชิบโบเลธ
ต้องการผู้ใช้ที่ถูกต้อง
</ไดเรกทอรี>
ใช้งานได้ แต่ฉันจะ จำกัด การเข้าถึงไฟล์ได้อย่างไร /ปลอมตัว
เส้นทางไปยังผู้ใช้ที่ระบุเท่านั้น? ฉันลองทำสิ่งต่อไปนี้แล้ว แต่ก็ยังอนุญาตให้ผู้ใช้ทุกคนเข้าถึงได้ /ปลอมตัว
:
DocumentRoot /usr/share/myapp/cgi-bin
ScriptAlias "/เลียนแบบ" "/usr/share/myapp/cgi-bin"
<สถานที่ /ปลอมตัว>
AuthType ชิบโบเลธ
SetEnv IMPERSONATE_USER johndoe
<ต้องการทั้งหมด>
ต้องการผู้ดูแลระบบผู้ใช้
</RequireAll>
</สถานที่>
<ไดเรกทอรี /usr/share/myapp/cgi-bin>
สคริปต์ SetHandler cgi
AuthType ชิบโบเลธ
ต้องการผู้ใช้ที่ถูกต้อง
</ไดเรกทอรี>