日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将权限组件应用到新项目

發布時間:2023/12/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将权限组件应用到新项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 拷貝rbac組件到新的項目中,注冊app 

2. 修改用戶表,繼承rbac中的User

class User(models.Model):"""用戶表"""# name = models.CharField(max_length=32, verbose_name='名稱')# password = models.CharField(max_length=32, verbose_name='密碼')roles = models.ManyToManyField(Role, verbose_name='用戶擁有的角色', blank=True)# def __str__(self):# return self.nameclass Meta:abstract = True # 數據庫遷移時候不會生成表,用來做基類class UserProfile(User, models.Model):

3.執行數據庫遷移命令

  1.刪除rbac下的migrations中的記錄

  2. 注掉admin中的User表

  3.roles = models.ManyToManyField(Role, verbose_name='用戶擁有的角色', blank=True) # 關聯的字段不要寫成字符串形式

4.設置rbac的url

url(r'rbac/', include('rbac.urls',namespace='rbac'))

5.菜單管理

6.權限的錄入

  1.所有的url要有別名name

  2.不要忽略rbac? namespace

  3.注意url和別名的長度

  4.構建層級結構

7.角色管理

8. 分配權限

  1.注意用新的用戶表替換rbac中的User

  2.給不同角色分配權限

  3.給不同用戶分配角色

9.應用上權限

  1.應用中間件? ?在settings中寫上權限的配置

# 權限的key PERMISSION_SESSION_KEY = 'permissions' # 菜單的key PERMISSION_MENU_KEY = 'menus' WHITE_LIST = [r'^/login/$',r'^/reg/$',r'^/admin/.*', ]NO_PERMISSION_LIST = [r'^/index/$',r'^/logout/$', ]# 路徑導航 BREADCRUMB = 'breadcrumb_list' # 路徑導航 CURRENT_MENU = 'current_parent_id'

? ?2.登陸成功后權限的初始化

from rbac.service.permission import init_permisson # 權限信息的初始化 init_permisson(request,obj)

10.動態生成二級菜單

? ? 1.在母版中使用

``` 導入CSS js {% load rbac %} {% menu request %} ```

11.應用路徑導航

{% breadcrumb request %}

12.權限控制到按鈕級別

{% load rbac %} {% if request|has_permission:"consult_add" %}<a href="{% url 'consult_add' %}" class="btn btn-primary btn-sm">添加</a> {% endif %}

?

  • 拷貝rbac組件到新的項目中,注冊app

  • 修改用戶表,繼承rbac中的User

  • 轉載于:https://www.cnblogs.com/zwq-/p/10229243.html

    總結

    以上是生活随笔為你收集整理的将权限组件应用到新项目的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。