jumpserver中的權限控制:
數據庫中用戶角色有三種,從代碼中可看出,分別爲:
'SU': '超級管理員'
'GA': '組管理員'
'CU': '普通用戶'
登錄時:
if user.role == 'SU':
request.session['role_id'] = 2
elif user.role == 'GA':
request.session['role_id'] = 1
else:
request.session['role_id'] = 0
在調用某個接口時進行檢測@require_role(‘user/admin/super’):
if role == 'admin':
if request.user.role == 'CU':
return HttpResponseRedirect(reverse('index'))
elif role == 'super':
if request.user.role in ['CU', 'GA']:
return HttpResponseRedirect(reverse('index'))
@require_role(‘user’)表示超級管理員,組管理員,普通用戶可以訪問
@require_role(‘admin’)表示超級管理員,組管理員可以訪問
@require_role(‘super’)表示超級管理員可以訪問
在nav.html中,菜單分成兩段:
超級管理員:
{% if request.session.role_id == 2 %}
……
{% endif %}
普通用戶:
{% if request.session.role_id == 0 %}
……
{% endif %}