GHI BÀN: BẤT KỲ người dùng nào đã xác thực thành công bằng SSO (thông qua REMOTE_AUTH) đều được cấp quyền quản trị viên (hoặc ít nhất là siêu người dùng) mà không cần tạo trước bất kỳ người dùng hoặc nhóm nào.
Tôi có xác thực từ xa hoạt động tốt (người dùng đã đăng nhập thành công trên NetBox) nhưng tôi không thể đặt bất kỳ quyền tự động nào. Tất cả người dùng chỉ có quyền xem.
Điều duy nhất hoạt động là đặt tên người dùng một cách rõ ràng, chẳng hạn như:
REMOTE_AUTH_SUPERUSERS = ['myuser1', 'myuser2']
đây không phải là giải pháp thích hợp cho mục tiêu này vì tên người dùng không được biết trước khi người dùng trải qua luồng SSO.
Tôi đã xem xét tài liệu ở đây: https://netbox.readthedocs.io/en/stable/administration/permissions/
và đây: https://netbox.readthedocs.io/en/stable/configuration/Option-settings/#remote_auth_default_permissions
Lưu ý các tài liệu cho REMOTE_AUTH_DEFAULT_PERMISSIONS
Những trạng thái "Mỗi khóa trong từ điển phải được đặt thành một từ điển các thuộc tính sẽ được áp dụng cho quyền hoặc Không có
để cho phép tất cả các đối tượng." Nhấn mạnh vào "Không có
để cho phép tất cả các đối tượng."
Cả hai đều không giúp xác định thiết lập loại "cấp cho mọi người quyền truy cập" cơ bản.
Tôi vừa thử thiết lập REMOTE_AUTH_SUPERUSERS = ['*']
và đã thử thiết lập REMOTE_AUTH_DEFAULT_PERMISSIONS = { "*": Không có }
và REMOTE_AUTH_DEFAULT_PERMISSIONS = { "trạng thái": Không có }
(và NHIỀU biến thể khác, không có gì hiệu quả.
Tham chiếu các mục cấu hình áp dụng này. (Lưu ý rằng đây không nhất thiết phải là cấu hình hiện tại của tôi, vì tôi đã thử hàng chục biến thể để làm việc này)
REMOTE_AUTH_ENABLED = Đúng
REMOTE_AUTH_BACKEND = 'netbox.authentication.RemoteUserBackend'
REMOTE_AUTH_HEADER = 'HTTP_X_USER_NAME'
REMOTE_AUTH_AUTO_CREATE_USER = Đúng
REMOTE_AUTH_SUPERUSERS = ['*']
# REMOTE_AUTH_DEFAULT_GROUPS = []
# REMOTE_AUTH_SUPERUSER_GROUPS= []
# REMOTE_AUTH_DEFAULT_PERMISSIONS = { }