Skip to content

Commit acc2add

Browse files
Fixes #15977: Hide all admin menu items for non-authenticated users (#15978)
* Fixes #15977: Hide all admin menu items for non-authenticated users * Account for absence of auth_required on PluginMenuItem
1 parent b4486b4 commit acc2add

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

netbox/netbox/navigation/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class MenuItem:
3232
link: str
3333
link_text: str
3434
permissions: Optional[Sequence[str]] = ()
35+
auth_required: Optional[bool] = False
3536
staff_only: Optional[bool] = False
3637
buttons: Optional[Sequence[MenuItemButton]] = ()
3738

netbox/netbox/navigation/menu.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,7 @@
371371
MenuItem(
372372
link=f'users:user_list',
373373
link_text=_('Users'),
374+
auth_required=True,
374375
permissions=[f'auth.view_user'],
375376
buttons=(
376377
MenuItemButton(
@@ -390,6 +391,7 @@
390391
MenuItem(
391392
link=f'users:group_list',
392393
link_text=_('Groups'),
394+
auth_required=True,
393395
permissions=[f'auth.view_group'],
394396
buttons=(
395397
MenuItemButton(
@@ -409,12 +411,14 @@
409411
MenuItem(
410412
link=f'users:token_list',
411413
link_text=_('API Tokens'),
414+
auth_required=True,
412415
permissions=[f'users.view_token'],
413416
buttons=get_model_buttons('users', 'token')
414417
),
415418
MenuItem(
416419
link=f'users:objectpermission_list',
417420
link_text=_('Permissions'),
421+
auth_required=True,
418422
permissions=[f'users.view_objectpermission'],
419423
buttons=get_model_buttons('users', 'objectpermission', actions=['add'])
420424
),
@@ -425,16 +429,19 @@
425429
items=(
426430
MenuItem(
427431
link='core:system',
428-
link_text=_('System')
432+
link_text=_('System'),
433+
auth_required=True
429434
),
430435
MenuItem(
431436
link='core:configrevision_list',
432437
link_text=_('Configuration History'),
438+
auth_required=True,
433439
permissions=['core.view_configrevision']
434440
),
435441
MenuItem(
436442
link='core:background_queue_list',
437-
link_text=_('Background Tasks')
443+
link_text=_('Background Tasks'),
444+
auth_required=True
438445
),
439446
),
440447
),

netbox/utilities/templatetags/navigation.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ def nav(context):
2626
for group in menu.groups:
2727
items = []
2828
for item in group.items:
29+
if getattr(item, 'auth_required', False) and not user.is_authenticated:
30+
continue
2931
if not user.has_perms(item.permissions):
3032
continue
3133
if item.staff_only and not user.is_staff:

0 commit comments

Comments
 (0)