一、管理員分配權限
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標簽進行引入。
通過以上操作就把增改查頁面加入了統一的菜單了
關於權限控制:查看的權限展示到左側菜單欄,增刪改權限通過按鈕控制:沒有哪個權限就沒有哪個權限按鈕。
用戶登錄后根據所擁有的權限能夠擁有不同的操作: