Tôi có yêu cầu thay đổi một số xác thực Apache 2.4 để phần lớn người dùng có thể truy cập trang web từ bất cứ đâu, nhưng một số người dùng nhất định (có thể được xác định theo một số cách, nhưng nhóm LDAP sẽ là cách dễ nhất) chỉ có thể được phép truy cập từ một mạng con địa chỉ IP nhất định. (Xác thực thông qua mô-đun OIDC cộng với các nhóm ldap.)
(Một phiên bản đơn giản hóa của cái gì) cấu hình Apache hiện tại là
<RequireAll>
<RequireAny>
Require valid-user
Require claim aud:apache123.company.com
</RequireAny>
Require ldap-attribute companyMemberOf="ALL_USERS_OF_THIS_TOOL"
</RequireAll>
Tôi không chắc cách tốt nhất để triển khai mệnh đề phủ định này cho một nhóm nhất định.
Tôi đã phải sử dụng cách giải quyết thảo luận ở đây với một hình nộm Yêu cầu tất cả cấp
điều khoản để tránh Chỉ thị RequireAll chỉ chứa các chỉ thị ủy quyền phủ định
lỗi.
Tôi nghĩ rằng thêm điều này sẽ làm điều đó nhưng tôi đánh giá cao phản hồi. Bởi vì với những thứ như thế này, tôi có thể dễ dàng tưởng tượng ai đó đang viết "bạn nghĩ rằng nó sẽ hiệu quả nhưng không phải vì...", hoặc "vâng, nó hiệu quả, nhưng đó thực sự không phải là cách đúng đắn để làm điều đó bởi vì.. ."
<RequireAny>
<RequireAll>
RequireNone ldap-attribute companyMemberOf="RESTRICTED_GROUP"
# Just to keep Apache happy
Require all granted
</RequireAll>
RequireIp 10.10.0.0/22
</RequireAny>