Tôi đang chạy một ứng dụng trong Apache 2.4.
Các ứng dụng được phục vụ ra khỏi /usr/share/myapp/cgi-bin
. Quyền truy cập vào ứng dụng này bị hạn chế đối với những người đã xác thực bằng Shibboleth. Cấu hình (cho đến nay) trông như thế này:
DocumentRoot /usr/share/myapp/cgi-bin
<Thư mục /usr/share/myapp/cgi-bin>
Tập lệnh cgi SetHandler
AuthType shibboleth
Yêu cầu người dùng hợp lệ
</Thư mục>
Tôi muốn một số người dùng nhất định có thể truy cập ứng dụng nhưng có một bộ biến môi trường đặc biệt. Vì vậy, tôi thay đổi ở trên thành này:
DocumentRoot /usr/share/myapp/cgi-bin
ScriptAlias "/impersonate" "/usr/share/myapp/cgi-bin"
<Vị trí /mạo danh>
AuthType shibboleth
SetEnv IMPERSONATE_USER johndoe
</Vị trí>
<Thư mục /usr/share/myapp/cgi-bin>
Tập lệnh cgi SetHandler
AuthType shibboleth
Yêu cầu người dùng hợp lệ
</Thư mục>
Điều này hoạt động nhưng làm cách nào để hạn chế quyền truy cập vào /mạo danh
chỉ đường dẫn đến người dùng cụ thể? Tôi đã thử cách sau nhưng nó vẫn cho phép tất cả người dùng truy cập vào /mạo danh
:
DocumentRoot /usr/share/myapp/cgi-bin
ScriptAlias "/impersonate" "/usr/share/myapp/cgi-bin"
<Vị trí /mạo danh>
AuthType shibboleth
SetEnv IMPERSONATE_USER johndoe
<Yêu cầuTất cả>
yêu cầu quản trị viên người dùng
</Yêu cầuTất cả>
</Vị trí>
<Thư mục /usr/share/myapp/cgi-bin>
Tập lệnh cgi SetHandler
AuthType shibboleth
Yêu cầu người dùng hợp lệ
</Thư mục>