黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

Django-xadmin+rule對象級權限的實現方式

瀏覽:51日期:2024-10-15 17:20:36

1. 需求vs現狀

1.1 需求

要求做一個ERP后臺輔助管理的程序,有以下幾項基本要求:

1. 基本的增刪改查功能

2. 基于對象的權限控制(如:系統(tǒng)用戶分為平臺運營人員和商家用戶,商家用戶小A只能查看編輯所屬商家記錄,而管理員可以縱覽全局)

3. 數據庫記錄導入導出(xsl, json等),并且擁有對象級的權限控制(如:小A不能導出小B公司的信息,更不能導入小B公司信息進行更新和新增)

1.2 現狀

實現需求1:Django-admin讓我們能夠很方便的實現一個管理后臺程序。django-xadmin則在擁有admin基本功能的基礎上增加了更為豐富的功能、界面也更加漂亮。類似還有django-suit等,本文使用xadmin(功能更豐富);

實現需求2:django-admin,以及xadmin都只有基于model級的權限控制機制,需要自己擴展或者使用開源解決方案,如django-guardian,django-rules,本文結合django-rules實現了該功能;

實現需求3:xadmin雖然自帶導出功能,但是導入功能沒有實現,django自帶后臺結合django-import-export可以很容易實現,但是xadmin并不直接兼容,只有通過xadmin的插件機制實現。

2. 功能實現

本節(jié)主要展示對象級權限功能實現。django工程、xadmin替換原生admin的設置,請參照官方文檔。

2.1 安裝并配置rules

pip安裝:pip install django-rules

配置settings.py

# settings.pyINSTALLED_APPS = ( # ... ’rules’,)AUTHENTICATION_BACKENDS = ( ’rules.permissions.ObjectPermissionBackend’, ’django.contrib.auth.backends.ModelBackend’,)

2.2 建立model

新增CompanyUser模型表示商家賬戶(即對django自帶user模塊進行擴展,使每個賬號綁定自己的公司碼),新增Customer模型表示商家的客戶信息并包含公司碼字段,商家賬號只能查看、編輯、導入、導出公司碼一致的商家客戶信息

# model.pyclass CompanyUser(models.Model): user = models.OneToOneField(User, verbose_name=’用戶名’) is_taixiang_admin = models.BooleanField(’是否運營人員’, default=False) company_code = models.CharField(’公司碼’, max_length=20, blank=True, default=’’) def __unicode__(self): return ’%s’ % self.user class Meta: verbose_name = ’導入賬號’ verbose_name_plural = verbose_nameclass Customer(models.Model): name = models.CharField(’客戶姓名’, max_length=50) phone = models.CharField(’客戶電話’, max_length=12) type_choice = ((1, ’普通’), (2, ’批發(fā)’), (3, ’VIP’)) creator = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=’創(chuàng)建人’, blank=True, null=True) company_code = models.CharField(’公司碼’, max_length=20, blank=True, null=True) def __unicode__(self): return ’%s-%s-%s’ % (self.company_code, self.name, self.phone1) class Meta: permissions = ( ('simulate_import_customer', '允許模擬導入客戶'), ('import_customer', '允許導入客戶至商家系統(tǒng)'), ) verbose_name = '客戶' verbose_name_plural = verbose_name

2.2 使用rule

在model統(tǒng)計目錄新增rules.py,配置該app相關的對象權限

引用rules

# rules.py# On Python 2, you must also add the following to the top of your rules.py file, or you’ll get import errors trying to import django-rules itselffrom __future__ import absolute_importimport rules# 使用修飾符@rules.predicate自定義predicates(判斷),返回True表示有權限,False表示無權限# Predicates@rules.predicatedef is_colleague(user, entry): if not entry or not hasattr(user, ’companyuser’): return False return entry.company_code == user.companyuser.company_code@rules.predicatedef is_taixiang_admin(user): if not hasattr(user, ’companyuser’): return False return user.companyuser.is_taixiang_admin# predicates間可以進行運算is_colleague_or_taixiang_admin = is_colleague | is_taixiang_admin | rules.is_superuser# 設置Rulesrules.add_rule(’can_view_customer’, is_colleague_or_taixiang_admin)rules.add_rule(’can_delete_customer’, is_colleague_or_taixiang_admin)rules.add_perm(’can_change_customer’, is_colleague_or_taixiang_admin)# 設置Permissionsrules.add_perm(’data_import.view_customer’, is_colleague_or_taixiang_admin)rules.add_perm(’data_import.delete_customer’, is_colleague_or_taixiang_admin)rules.add_perm(’data_import.add_customer’, is_colleague_or_taixiang_admin)rules.add_perm(’data_import.change_customer’, is_colleague_or_taixiang_admin)

2.3 admin.py以及adminx.py設置

如果使用原生的django-admin,admin.py做如下設置:

# admin.pyfrom __future__ import absolute_importfrom django.contrib import adminfrom rules.contrib.admin import ObjectPermissionsModelAdminfrom .models import Customer# ModelAdmin class繼承ObjectPermissionsModelAdmin即可class CustomerAdmin(ObjectPermissionsModelAdmin): passadmin.site.register(Customer, CustomerAdmin)

使用xadmin,由于ObjectPermissionsModelAdmin無法直接使用,故參照源碼重寫has_change_permission和has_delete_permission方法即可。

注意:必須引用rules文件,權限規(guī)則才會生效,對于xadmin,添加

from .rules import *即可

# adminx.pyclass CustomerAdmin(object): def has_change_permission(self, obj=None): codename = get_permission_codename(’change’, self.opts) return self.user.has_perm(’%s.%s’ % (self.app_label, codename), obj) def has_delete_permission(self, obj=None): codename = get_permission_codename(’delete’, self.opts) return self.user.has_perm(’%s.%s’ % (self.app_label, codename), obj) # 重寫queryset()或者get_list_display(),list view的權限也做到了對象級隔離 def queryset(self): qs = super(CustomerAdmin, self).queryset() if self.request.user.is_superuser or is_taixiang_admin(self.request.user): return qs try: return qs.filter(company_code=self.request.user.companyuser.company_code) except AttributeError: return Noneclass CompanyUserAdmin(object): passxadmin.sites.site.register(Customer, CustomerAdmin)xadmin.sites.site.register(CompanyUser, CompanyUserAdmin)

2.4 效果展示

CompanyUser設置:

Django-xadmin+rule對象級權限的實現方式

商家賬號只有所屬公司信息權限

Django-xadmin+rule對象級權限的實現方式

運營人員擁有所有記錄權限

Django-xadmin+rule對象級權限的實現方式

補充知識:django 擴展自帶權限,使其支持對象權限

擴展django 自帶權限

說明

在不重寫 自帶權限的基礎上,完成支持對象權限,適用于小型項目。

歡迎提出修改意見

軟件支持

jsonfield

數據庫

新建3個表

from django.db import modelsfrom django.contrib.auth.models import AbstractUser, Group ,User from jsonfield import JSONField class Request(models.Model): request = models.CharField(max_length=16, verbose_name=’請求類型(大寫)’) class Meta: db_table = 'request' verbose_name = '請求類型' verbose_name_plural = verbose_name def __str__(self): return self.request class RolePermission(models.Model): role = models.CharField(max_length=32, verbose_name=’角色組’) table = models.CharField(max_length=32, verbose_name=’表名字’) request = models.ManyToManyField(Request, verbose_name=’請求’, related_name=’re’, ) permission = JSONField(max_length=1024, verbose_name=’權限條件’) class Meta: db_table = 'role_permission' verbose_name = '角色組權限' verbose_name_plural = verbose_name def __str__(self): return self.role class Role(models.Model): group = models.ForeignKey(Group, verbose_name=’用戶組’, on_delete=models.CASCADE) roles = models.ManyToManyField(RolePermission, verbose_name=’角色組權限’, blank=True,related_name=’roles’ ) class Meta: db_table = 'role' verbose_name = '角色組關系' verbose_name_plural = verbose_name def __str__(self): return self.group.name

system/modelsRole 角色組關系 : 系統(tǒng)用戶組 <--> 角色組權限Request 請求類型 : GET ,POSTRolePermission 角色組權限 : 角色 表名字 請求 權限條件(JSON類型)

重點為 RolePermission 表。

例子

以常見的資產 asset 為例

表名字 asset 字段 groups (分組 為 dev,ops)權限劃分新建用戶 hequan新建組 dev

在Request 表 添加

GET (代表只讀)POST (代表更新 刪除)

在RolePermission 添加

角色 asset-dev只讀 表名字assset 請求 GET 權限條件 {'groups':’dev’}

在Role 表中 添加

系統(tǒng)用戶組 dev 角色組權限 asset-dev只讀

權限驗證代碼

import jsonfrom system.models import Rolefrom functools import wrapsfrom django.shortcuts import HttpResponse def role_permission_get_list(function): ''' 列表頁面 控制權限 :param function: :return: ''' @wraps(function) def wrapped(self): user = self.request.user groups = [x[’name’] for x in self.request.user.groups.values()] request_type = self.request.method model = str(self.model._meta).split('.')[1] filter_dict = {} not_list = [’page’, ’order_by’, ’csrfmiddlewaretoken’] for k, v in dict(self.request.GET).items(): if [i for i in v if i != ’’] and (k not in not_list):if ’__in’ in k: filter_dict[k] = velse: filter_dict[k] = v[0] if not user.is_superuser: role_groups = Role.objects.filter(group__name__in=groups).values_list(’roles__table’, ’roles__request__request’, ’roles__permission’) permission_dict = {} for i in role_groups:if i[0] == model and i[1] == request_type: permission_dict = json.loads(i[2]) if permission_dict:if filter_dict: for k, v in permission_dict.items(): if ’__in’ in k: k1 = k.replace(’__in’, ’’) if ’__gt’ in k: k1 = k.replace(’__gt’, ’’) if ’__lt’ in k: k1 = k.replace(’__lt’, ’’) else: k1 = k if k1 in list(filter_dict.keys()): del filter_dict[k1] if filter_dict: filter_dict.update(**permission_dict) else: print(’查詢條件處理后為空,默認權限’) filter_dict = permission_dictelse: print(’查詢條件為空,默認權限’) filter_dict = permission_dict else:print(’沒有權限’)filter_dict = {’id’: -1} self.filter_dict = filter_dict result = function(self) return result return wrapped def role_permission_detail(function): ''' 詳情頁面 控制權限 :param function: :return: ''' @wraps(function) def wrapped(self, request, *args, **kwargs): user = self.request.user if not user.is_superuser: groups = [x[’name’] for x in self.request.user.groups.values()] request_type = self.request.method model = str(self.model._meta).split('.')[1] pk = self.kwargs.get(self.pk_url_kwarg, None) role_groups = Role.objects.filter(group__name__in=groups).values_list(’roles__table’, ’roles__request__request’, ’roles__permission’) permission_dict = {} for i in role_groups:if i[0] == model and i[1] == request_type: permission_dict = json.loads(i[2]) permission_dict[’id’] = pk obj = self.model.objects.filter(**permission_dict).count() if not obj:return HttpResponse(status=403) result = function(self, request, *args, **kwargs) return result return wrapped def role_permission_update_delete(function): ''' 詳情頁面 控制權限 :param function: :return: ''' @wraps(function) def wrapped(self, request): user = self.request.user if not user.is_superuser: groups = [x[’name’] for x in self.request.user.groups.values()] request_type = self.request.method model = str(self.model._meta).split('.')[1] pk = self.request.POST.get(’nid’, None) role_groups = Role.objects.filter(group__name__in=groups).values_list(’roles__table’, ’roles__request__request’, ’roles__permission’) permission_dict = {} for i in role_groups:if i[0] == model and i[1] == request_type: permission_dict = json.loads(i[2]) permission_dict[’id’] = pk obj = self.model.objects.filter(**permission_dict).count() if not obj:ret = {’status’: None, ’error’: '沒有權限,拒絕', ’msg’: ’Without permission, rejected’}return HttpResponse(json.dumps(ret)) result = function(self, request) return result return wrapped

CBV 例子

省略部分代碼

class AssetListAll(LoginRequiredMixin, ListView): model = Ecs @role_permission_get_list def get_queryset(self): filter_dict = self.filter_dict self.queryset = self.model.objects.filter(**filter_dict) return self.queryset

class AssetChange(LoginRequiredMixin, UpdateView): model = Ecs @role_permission_detail def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs) @role_permission_update_delete def form_valid(self, form): self.object = form.save() return super().form_valid(form)

class AssetDetail(LoginRequiredMixin, DetailView): model = Ecs @role_permission_detail def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs)

class AssetDel(LoginRequiredMixin, View): model = Ecs @role_permission_update_delete def post(self, request): pass

以上這篇Django-xadmin+rule對象級權限的實現方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 国产精品色 | 欧美15一16性娇小高清 | 亚洲色图视频网站 | 久久精品网站视频 | 国产成人精品白浆久久69 | 成人在线观看亚洲 | 欧洲色区 | 男人天堂一区 | 波多野结衣成人在线 | 国产午夜精品久久久久免费视 | 日韩欧美在线不卡 | 性激烈的欧美三级 | 91区人人爽人人都喜欢人人都有 | a级黄色片免费看 | 久久婷婷成人综合色综合 | 护士脱了内裤让我爽了一夜视频 | 一级一片免播放 | 波多野42部无码喷潮在线 | 一本久久a精品一合区久久久 | 日韩av一区二区在线 | 少妇性bbb搡bbb爽爽爽欧美 | 亚洲精品字幕 | 久久精品女人天堂av免费观看 | 少妇大叫好爽受不了午夜视频 | 日本免费三片在线播放 | 亚洲高清视频一区二区三区 | 99热最新在线 | 后入内射无码人妻一区 | 中文字幕一卡二卡三卡 | 极品少妇一区 | 国产午夜精品一区二区三区 | 自拍偷拍亚洲视频 | 一区二区三区在线不卡 | a毛片视频 | 欧美群妇大交群 | 亚洲三级色 | 91精品综合久久久久m3u8 | 亚洲欧洲日韩一区二区三区 | 欧美综合在线观看视频 | 精品视频久久久久 | 波多野结衣办公室双飞 | 久草热在线视频 | 一区二区免费在线播放 | 中文字幕一区二区三区中文字幕 | 俄罗斯a级毛片 | 国产主播在线观看 | 97人人爽人人澡人人精品 | 成人在线观 | 免费看黄在线看 | 精品成人一区二区三区四区 | 国内精品久久久久久久影视蜜臀 | 成人乱人伦精品小说 | 69精品国产 | 欧美高清视频一区二区 | 日本一区二区三区视频在线播放 | 我要看www免费看插插视频 | 一本大道久久卡一卡二卡三乱码 | 最新国产在线拍揄自揄视频 | 成av免费大片黄在线观看 | 美女屁股眼视频网站 | 久久香蕉国产线看观看猫咪av | 精品国产欧美一区二区 | 精品人妻久久久久久888 | 欧美激情a∨在线视频播放 少妇人妻无码专区视频 | 日韩黄色大全 | 和岳每晚弄的高潮嗷嗷叫视频 | 日本一区二区不卡在线 | 欧美一级做一级爱a做片性 欧美一极片 | 日韩中文字 | 在线观看免费人成视频色9 在线观看的网站 | 天天综合网网欲色 | 日本伊人精品一区二区三区 | 一本色道久久亚洲综合精品蜜桃 | 免费人成视频网站在线观看18 | 99啪啪| 精品女同一区二区三区在线 | 欧洲一区二区三区四区 | 亚洲国产精品网站 | 久久精品中文騷妇女内射 | 日本大尺度床戏揉捏胸 | 亚洲黄色一级 | 成人做爰69片免费看网站 | 青青在线播放 | 精品少妇一区二区三区日产乱码 | 国产一区二区三区精品在线观看 | 99少妇偷拍视频在线 | 日韩毛片在线免费观看 | 葵司有码中文字幕二三区 | 欧美精品videos另类日本 | 日本在线免费看 | av免费网站观看 | 国产精品色婷婷久久99精品 | 免费观看全黄做爰大片国产 | 中文字幕一区二区三区有限公司 | 免费看a网站 | 中文字幕精品在线 | 国产麻豆影视 | 中国裸体aaaaaa大片 | 91视在线国内在线播放酒店 | 夜夜操国产 | 免费黄色成人 | 无码国内精品人妻少妇蜜桃视频 | 亚洲一卡二卡三卡四卡在线看 | 国产亚洲第一伦理片在线c 国产亚洲精品久久久久动 国产亚洲精品久久久久久大师 | 欧美日韩在线一区二区三区 | 久久精品无码中文字幕 | 蜜桃久久久久久久 | 最新中文字幕 | 欧美黄色录像片 | 另类专区成人 | 97欧美一乱一性一交一视频 | 你懂的网址在线播放 | 欧美中文一区 | 国产精品国产亚洲精品看不卡 | 少妇高潮一区二区三区99女老板 | 日韩精品一区二区三区在线观看视频网站 | 中文字幕第一页av | 亚洲va韩国va欧美va精四季 | 亚洲最大中文字幕 | 亚洲三级在线视频 | 黄页网站视频 | 精品国产一区二区三区四区阿崩 | aaaaaa毛片| 抽搐一进一出aaaaa | 人人爱人人搞 | 91久久精品日日躁夜夜躁欧美 | 曰本无码人妻丰满熟妇5g影院 | 91视频三区 | 乱妇乱女熟妇熟女网站 | 久久综合偷偷噜噜噜色 | 久草免费福利视频 | 在线观看福利网站 | 欧美另类极品videosbest最新版本 | 男人的天堂久久久 | 亚洲第一网站在线观看 | 久久毛片基地 | 狠狠躁18三区二区一区ai明星 | 亚洲免费片 | 亚洲成av人片一区二区梦乃 | 我要看免费的毛片 | a爱视频 | 国产偷亚洲偷欧美偷精品 | 国产亚洲精品久久yy50 | 波多野结衣初尝黑人 | 成人国内精品久久久久影院成.人国产9 | 亚洲人成网网址在线看 | 熟妇人妻久久中文字幕 | 玖玖网 | 亚洲成av人片一区二区三区 | 韩国三级毛片 | 免费日韩一级片 | aaa在线播放 | 亚洲国产成人精品片在线观看 | 亚洲第一无码xxxxxx | 欧洲天堂网 | 午夜少妇拍拍视频在线观看 | 久久久久久1 | 中文视频在线 | 中文字字幕在线中文 | 国产精品亚洲天堂 | 免费成年人视频在线观看 | 人妻聚色窝窝人体www一区 | 久久久久人妻精品一区三寸 | 国产精品性生活 | 91亚洲精品丁香在线观看 | 色视频在线网站 | 日本性插视频 | 侵犯の奶水授乳羞羞游戏 | 三级av网站 | 久久亚洲经典 | 妺妺窝人体色www在线小说 | 娇小激情hdxxxx学生住处 | 欧美国产激情视频 | 欧美成视频人免费淫片 | 日韩欧美一区二区三区黑寡妇 | 欧美a∨亚洲欧美亚洲 | 体内谢xxxxx视少妇频 | 国内精品偷拍 | 4438激情网| 久久综合久久综合九色 | 国产欧美日韩久久 | 成人一区在线观看 | 日韩一级在线视频 | 丝袜 制服 国产 欧美 亚洲 | 精品少妇一区二区视频在线观看 | 欧美日韩一级在线观看 | 丝袜脚交一区二区 | 看全色黄大色黄大片大学生 | 成年午夜精品久久久精品 | 亚洲 卡通 欧美 制服 中文 | 亚洲日韩中文字幕天堂不卡 | 少妇欧美激情一区二区三区 | 色综合中文网 | 欧美在线视频你懂的 | 成人免费观看在线视频 | 91国模| 中文一二三区 | 中文字幕人妻熟女人妻a片 国产精品人妻系列21p | av小说在线 | 日韩精品在线观看免费 | 日本美女久久久 | 乱肉合集乱高h久久爱 | 99精品国产99久久久久久97 | 日韩精品一卡2卡3卡4卡分类 | 欧美午夜一区二区福利视频 | a视频免费在线观看 | 日韩在线一区二区三区四区 | 东京热无码av一区二区 | 午夜xx| 久久久午夜精品理论片中文字幕 | 国产精品亚洲а∨无码播放麻豆 | 婷婷亚洲视频 | 综合网中文字幕 | 日韩av一二三区 | 国产福利资源在线 | 国产一级片在线 | 亚洲国产精品久久人人爱 | 亚洲国产天堂久久综合 | 又黄又爽又刺激久久久久亚洲精品 | 国产精品麻豆欧美日韩ww | 久久男人av资源网站无码软件 | av青青| a级港片免费完整在线观看 a级高清毛片 | 日本xxx裸体xxxx偷窥 | 俺也去五月婷婷 | 大片免费在线观看视频 | 久久久久久久久久久福利 | 久激情内射婷内射蜜桃 | 成码无人av片在线观看网站 | 日韩精品无码一区二区三区 | 国产乱码一区二区三区 | 国产探花在线精品一区二区 | 伊人精品国产 | 麻豆国产丝袜白领秘书在线观看 | 影音先锋男人av鲁色资源网 | 最新国产毛片 | 日韩精品久久久久久免费 | 成人a视频在线观看 | 国产精品久久久久久久一区二区 | 亚洲人成在线观看 | 美女张开腿让男人桶爽 | 久久深夜福利 | 黄色你懂的 | 国产在线xx | 日本一区二区高清不卡 | 欧美日韩国产精品 | 国产女人第一次做爰视频 | 日本激情一区 | 少妇被粗大的猛进出69影院 | 超碰精品| 久久天天躁夜夜躁狠狠躁2022 | 夜夜躁很很躁日日躁麻豆 | 一级特黄aaa大片 | 日本一卡精品视频免费 | 少妇白浆高潮无码免费区 | 国产精品日韩欧美 | 午夜精品久久久久久久99热蜜臀 | 亚洲精品久久久中文字幕痴女 | 国产成人61精品免费看片 | 黄色爱爱视频 | 波多野结衣一区二区三区高清 | 国产剧情一区在线 | 成人性生交大片免费看 | 最近中文字幕日本 | 碰碰久久 | 国产在线拍偷自揄拍视频 | 亚洲成av人片香蕉片 | 少妇被躁爽到高潮无码人狍大战 | www,五月天,com | 中文字幕成人网 | 久色福利 | 亚洲午夜无码久久久久 | 国产极品久久久 | 最新国产乱人伦偷精品免费网站 | 97欧美 | 成人午夜视频免费观看 | 欧美三级网 | 国产女人被狂躁到高潮小说 | 国产精品岛国久久久久久久久红粉 | av区无码字幕中文色 | 尹人久久 | 99re6这里有精品热视频 | 亚洲一区二区三区影院 | 师生出轨h灌满了1v1 | 婷婷九月丁香 | 鲁鲁狠狠狠7777一区二区 | 国产美女av| 日本免费黄色 | 中国农村妇女hdxxxx | 日韩视频免费大全中文字幕 | 乌克兰极品少妇ⅹxxx做受 | 欧美精品久久久久久久久久 | av网址网站 | 国产精品久久久国产盗摄蜜臀 | 亚洲免费一二三区 | 国产123在线| xxxxwww国产| 亚洲 自拍 另类 欧美 丝袜 | 毛片在线免费观看视频 | 99精品在线免费观看 | 欧美性xxxx狂欢老少配 | 国产寡妇亲子伦一区二区三区四区 | 久久精品国产欧美亚洲人人爽 | 亚洲欧美国产高清va在线播放 | 男女人xx视频 | 乱人伦中文无码视频在线观看 | 亚洲国产精品成人久久久 | 性做久久久久 | 久久亚洲精品国产一区 | 99久久人人爽亚洲精品美女 | 制服丝袜中文字幕在线 | 波多野结衣黄色网址 | 亚洲欧美日本国产 | 天美乌鸦星空mv高清正版播放 | 日韩特级黄色片 | 欧美色成人 | 日韩高清在线中文字带字幕 | 国产精品日韩精品 | 真实人妻互换毛片视频 | 国产专区第一页 | 成人免费毛片高清视频 | 久草视频这里只有精品 | 日本在线视频www鲁啊鲁 | 国产麻豆精品视频 | 老熟妇仑乱一区二区视頻 | 亚洲中文无码永久免费 | 美女搡bbb又爽又猛又黄www | 亚洲人成网站色www 久久在线视频免费观看 | 少妇视频在线 | 肥婆大荫蒂欧美另类 | 久久久影院 | 欧美成欧美va| 在线看片人成视频免费无遮挡 | 亚洲一区 国产精品 | 亚洲一区二区三区乱码aⅴ蜜桃女 | 亚洲一区在线免费观看 | 国产又黄又猛的视频 | 日韩av线上| 99插插插| 亚洲欧美91 | www.91成人| 成人动漫h在线观看 | 国产伦精品一区二区三区 | 人与兽黄色毛片 | 人人免费操 | 久久久96 | 91久久婷婷国产一区二区三区 | 饥渴的少妇和男按摩师 | 亚洲免费av在线 | 男人天堂网在线 | 久久特级毛片 | 好男人社区资源 | 免费成人结看片 | 亚洲一区中文字幕在线观看 | 国产专区在线视频 | 成人av免费在线播放 | 日韩免费一区 | 成人免费一区二区三区视频 | 中国肥老太婆高清video | 日韩色中色 | 中文字幕观看 | 国产女人久久精品视 | 主人~别揉了~尿了~小说 | 亚洲国产午夜精品理论片 | 开心久久婷婷综合中文字幕 | 国产精品噜噜噜66网站 | 诱惑の诱惑筱田优在线播放 | 精品三级在线观看 | 亚洲v欧美v国产v在线观看 | 激情xxx| 片黄在线观看 | 69视频在线 | 久久久久久国产精品高清 | 最新午夜综合福利视频 | 午夜影视体验区 | 国产又色又爽无遮挡免费 | 欧美黄色一级网站 | 国产乱人伦无无码视频试看 | 欧美极品少妇xxxxⅹ免费视频 | 久久无码中文字幕免费影院蜜桃 | 国产亚洲精品久久久 | 91大尺度| 亚洲国产日韩欧美在线观看 | 亚洲乱妇熟女爽到高潮的片 | 免费乱淫视频 | 丰满少妇大力进入 | 国产精品人人妻人人爽人人牛 | 麻豆传传媒久久久爱 | 国产黄色片一级 | 国产一区二区av | 国产白丝袜喷白浆毛片av | 国产精品第2页 | 国产主播在线一区 | 一区二区三区av夏目彩春 | 伊人久久综合视频 | 日本男人的天堂 | 激情综合区 | 欧美xxxx狂喷水 | 亚洲天堂一区在线 | 久草手机在线视频 | 日韩伦理av | 成人久久免费 | 中文在线最新版天堂8 | 九色porny丨首页在线 | 国产成人手机高清在线观看网站 | 嫩草综合 | 日韩一级免费看 | 欧美特一级 | 日韩精品在线一区二区 | 日韩欧美一区二区三区黑寡妇 | 中文字幕乱码免费看电影 | 中文字幕欧美日韩va免费视频 | 他揉捏她两乳不停呻吟动态图 | 无码国产成人午夜电影在线观看 | 亚洲欧美高清 | 国产精品乱码一区二区三区四川人 | 久久成人欧美 | 国产亚州精品女人久久久久久 | 免费体验区试看120秒 | 中文字幕2区 | 五月婷婷狠狠爱 | 精品播放 | 色狠狠一区二区三区 | 伊人久久久久久久久久久久 | 中文字幕在线观看第二页 | 免费看a级片 | 69av网站| 女子spa高潮呻吟抽搐 | 情欲都市成熟美妇大肉臀 | 美女国产毛片a区内射 | 九九黄色片 | 国产性生交大片免费 | 暴力强奷美女孕妇视频 | 高潮毛片无遮挡高清视频播放 | 国内揄拍国内精品人妻 | 日韩免费视频一区二区 | 少妇久久久久久 | 瑜伽裤国产一区二区三区 | 欧美性生交xxxxx久久久缅北 | 四虎视频国产精品免费入口 | 丁香啪啪综合成人亚洲小说 | 日韩六十路 | 最新免费av网站 | 亚洲区另类春色综合小说 | 国产 欧美 视频一区二区三区 | 风间由美不戴奶罩邻居勃起av | 欧美亚州国产 | 嘴交的视频丨vk口舌视频 | 青青青在线免费 | 亚洲 欧美 中文 日韩a v一区 | 亚洲精品911 | 狠狠网| 久久人人爽爽爽人久久久 | frxxee欧美xxee麻豆 | 亚洲精品无码av中文字幕电影网站 | 国产精品怕怕怕免费视频 | 久久精国产 | 亚洲精品亚洲 | 亚洲色偷偷色噜噜狠狠99网 | 亚洲www视频 | 超碰在线进入 | 午夜免费 | 成人综合婷婷国产精品久久蜜臀 | 天天干天天干天天操 | 久久99精品久久久久久动态图 | 永井玛利亚 精品 国产 一区 | 精品人妻无码一区二区三区换脸 | 特黄1级潘金莲 | 国产无套粉嫩白浆内精品 | 欧美精品网址 | 色av网| av一本久道久久波多野结衣 | 伊人影院网 | 麻豆精品国产传媒av | 特黄特色大片免费播放器图片 | 免费网站在线高清观看 | 青青草97国产精品免费观看 | 久久精品国产久精国产 | www视频在线观看 | 久久精品国产片 | 亚洲午夜伦理 | 中文字幕第22页 | 国产精品色呦呦 | 亚洲涩色 | 国产一区二区三区久久久久久久久 | 久久99精品国产91久久来源 | 特黄特色大片免费 | 亚洲线精品一区二区三区 | 区一区二区三区中文字幕 | 国产真实乱子伦精品视频 | 日韩视频在线观看一区 | youporn国产在线观看 | 久久男人av久久久久久男 | 日本三级欧美三级人妇视频黑白配 | 激情一区二区三区 | 无码熟妇人妻av | 国产夫妻性爱视频 | 精品香蕉99久久久久网站 | 午夜视频在线免费 | 天堂新版8中文在线8 | 东北少妇不戴套对白第一次 | 国产在线一区二区三区四区 | 免费看国产黄色片 | 久久久久无码精品国产h动漫 | 国产又黄又猛视频 | 黄色裸体网站 | 一本色道久久综合亚洲精品高清 | 日本午夜理伦影片大全 | 国产猛烈高潮尖叫视频免费 | 米奇777四色精品人人爽 | 在线观看国产区 | 黑丝一区二区三区 | 久久久精品视频在线观看 | 51国偷自产一区二区三区的 | 一性一交一伦一色一按—摩 | 成年人免费看的视频 | 女同三级bd高清在线播放 | 色噜噜狠狠狠综合曰曰曰88av | 综合网日日天干夜夜久久 | 日韩精品一区二区三区四区在线观看 | 国产乱人对白 | 6080av| 中国少妇内射xxxx狠干 | 麻豆av一区| 丰满妇女毛茸茸刮毛 | 久久夜视频 | 国产真实野战在线视频 | 国产精品无码一区二区三区 | 激情六月天 | 奇米影视888狠狠狠 奇米影视第四狠狠777 | 日本人作爰全过程 | 少妇在线视频 | 国产做a爱片久久毛片a片 | 欧美日韩在线视频一区二区 | 女人张开腿涩涩网站 | 国产一区二区三区免费观看潘金莲 | 午夜福利试看120秒体验区 | 精产国品一区二区三区四区 | www网站在线观看 | 亚洲欧美色图在线 | 亚洲黄在线观看 | 92看看福利1000集合集免费 | 亚洲爆爽av | 极品粉嫩国产18尤物 | 精品夜夜澡人妻无码av | 美女视频黄色免费 | 日产精品无人区 | 久久一二区 | 成人在线视频你懂的 | 极品粉嫩鲍鱼视频在线观看 | 成人网在线播放 | 美女诱惑一区二区 | 国产情侣作爱视频免费观看 | 少妇激情一区二区三区 | 欧美一性一乱一交一视频 | 亚洲精品视频一区 | 美女撒尿毛片视频免费看 | 一区二区中文字幕在线观看 | 91国模| 麻豆91精品91久久久的优点 | 国产字幕在线观看 | 国产成人精品免高潮在线观看 | 欧美精品一二 | 天天综合天天爱天天做 | 国产色综合天天综合网 | 亚洲视频在线观看一区 | 性高朝大尺度少妇大屁股 | 国产原创91 | 中文字幕一区二区不卡 | 伊人久久中文 | 久久久天堂国产精品女人 | 成人区精品一区二区婷婷 | 黄色资源在线观看 | 玖玖色资源 | 99精品偷拍在线中文字幕 | 欧美成人毛片 | 欧美第一页草草影院 | 免费全部高h视频无码 | 高清国产mv在线观看 | 午夜免费剧场 | 成人性生交免费大片2 | 日本老小玩hd老少配 | 日本熟妇人妻xxxxx人hd | 欧美日韩一级久久久久久免费看 | 欧美变态另类牲交 | 免费特级毛片 | 日本精品久久久久久久 | 久久亚洲精品久久国产一区二区 | 91久久精品国产91久久性色tv | 亚洲专区欧美 | 男女做爰全过程免费的软件 | 亚洲综合欧美色五月俺也去 | 日本一区精品视频 | 天天射天天干天天色 | 欧美日韩国产一级片 | 国产v片在线播放 | 91久久精品视频 | 婷婷深爱网 | 午夜妇女aaaa区片 | 和寡妇做爰过程a一片 | 欧美影院adc | 麻豆蜜桃91天美入口 | 麻豆视频在线播放 | 日韩黄色成人 | 国产精品久久麻豆 | 欧洲av一区二区 | 日本一区午夜艳熟免费 | а天堂中文地址在线 | 一区二区精品久久 | 在线va| 天堂无码人妻精品一区二区三区 | 51av在线 | 先锋影音av资源在线观看 | 欧美日韩亚洲国产综合 | 性一交一乱一乱一视频 |