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 %}