權限分配、登錄設計與展示菜單


一、管理員分配權限

1、把rbac組件拷貝到項目目錄下

 

 2、在crm_s9/settings.py中注冊app

 

 3、crm/models.py中UserInfo與rbac/models.py中User表一對一進行關聯(因為是臨時加的字段,所以添加null=True)

 

 4、在rbac項目下添加stark.py文件,用來注冊權限表,錄入權限數據

 

 5、添加權限組

 

 6、添加權限

 

  

 7、創建角色並分配權限

 

 8、為user分配角色 

  

  9、為員工分配對應user

二、設計登錄

  

1、crm/view.py 

from django.shortcuts import render,HttpResponse
from rbac.models import User
from rbac.service.perssions import initial_session

#登錄視圖
def login(request):
    if request.method=="POST":
        user=request.POST.get("user")
        pwd=request.POST.get("pwd")

        user=User.objects.filter(name=user,pwd=pwd).first()
        if user:
            request.session["user_id"]=user.pk #把用戶主鍵注冊到session中
            initial_session(user,request)  #注冊權限到session中國

            return HttpResponse("登錄成功")  #這里應該返回一個主頁面,為了簡化直接返回一個“登錄成功”

    return render(request,"login.html")

2、crm_s9/templates/login.py 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<form action="" method="post">
    {% csrf_token %}
    用戶名<input type="text" name="user">
    密碼<input type="password" name="pwd">
    <input type="submit">
</form>

</body>
</html>

3、把rbac里面的中間件引入到settings中

三、展示菜單

把rbac/templates/rbac中的base.html拷貝到crm_s9/templates中,讓stark/templates下面的增改查以及mycustomer.html、public.html都繼承base.html,為了頁面簡潔把add_view.html和list_view.htm中的css樣式放到stark/static/css目錄下,然后在base.html中用link標簽進行引入。

通過以上操作就把增改查頁面加入了統一的菜單了

關於權限控制:查看的權限展示到左側菜單欄,增刪改權限通過按鈕控制:沒有哪個權限就沒有哪個權限按鈕。

用戶登錄后根據所擁有的權限能夠擁有不同的操作:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM