权限组件之rbac

Posted aaronthon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限组件之rbac相关的知识,希望对你有一定的参考价值。

rbac:基于角色的权限访问控制(Role-Based Access Control)。

 

def login(request):
    if request.method=="GET":
        return render(request,"login.html")

    else:
        user=request.POST.get("user")
        pwd=request.POST.get("pwd")
        user=UserInfo.objects.filter(name=user,pwd=pwd).first()
        if user:
            # 验证成功之后做什么?
            request.session["user_id"]=user.pk  # 拿到session

            # 当前登录用户的所有权限, distinct()是去掉重复的权限
       
            permission_info=user.roles.all().values("permissions__url","permissions__title").distinct()
            temp=[]  # url列表
            for i in permission_info:
                temp.append(i["permissions__url"])
            request.session["permission_list"]=temp

            #  {"user_id":1,"permission_list":[‘/users/‘,‘/orders/‘]}
            return HttpResponse("登录成功!")
        else:
            return redirect("/login/")

 

以上是关于权限组件之rbac的主要内容,如果未能解决你的问题,请参考以下文章

rbac组件之数据库设计

Django之权限管理

rbac组件之菜单操作

django的RBAC认证z;自定义auth_user表;认证组件权限组件源码分析;认证组件;权限组件

RBAC之web管理权限思路你懂多少?

讲堂 | Yii2之rbac(基于角色的权限管理)-- 思想与配置