Thứ tự yêu cầu là:
- Xác thực cơ bản - NẾU
ủy quyền
nằm trong tiêu đề
- Xác thực SAML
- Dành cho 2 cụ thể địa điểm, không có xác thực
Đây là những gì tôi có, nhưng nó dường như không hoạt động chính xác
<Location "/">
AuthType Basic
AuthBasicProvider ldap
...
<If "-z req('Authorization')">
AuthType Mellon
MellonEnable auth
MellonEndpointPath /mellon/
...
</If>
</Location>
<LocationMatch "^/(notifyCommit|shuttingDown)/">
AuthType None
Allow from all
Satisfy any
Require all granted
</LocationMatch>
Tuy nhiên, bất cứ khi nào tôi cố gắng truy cập vào một trong hai vị trí không cần xác thực (notifyCommit hoặc shutdown), tôi đều nhận được lỗi 401.
Tôi làm gì sai ở đây? Tôi có ấn tượng rằng Địa điểm
và Vị trí phù hợp
được hợp nhất với nhau và thứ tự là từ trên xuống dưới.Nếu điều này là đúng, trước tiên nó phải đánh giá "/" và thấy rằng cần có xác thực, nhưng sau đó tìm phần đối sánh vị trí và xem rằng không cần xác thực cho /notifyCommit/ hoặc /shuttingDown/.
Tôi đã xem qua một số câu hỏi liên quan khác và đã thử nhiều tùy chọn, nhưng dường như không có tùy chọn nào hiệu quả, bao gồm cả việc di chuyển vị trí khớp trước phần vị trí và SetEnvFf Request_URI ...
.
CHỈNH SỬA
- Đối với hai vị trí không yêu cầu xác thực, không cần tên người dùng hoặc mật khẩu. Về cơ bản nó là truy cập ẩn danh.
- Phần điều kiện xác thực SAML/Cơ bản dường như đang hoạt động tốt.