Django学习随手记(八)

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 %}
posted @ 2016-04-20 17:22  寂地烟火  阅读(12)  评论(0)    收藏  举报  来源