亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

ASP.NET Core 多租戶怎么實現(xiàn)?為什么選擇數(shù)據(jù)庫隔離?

ASP.NET Core 多租戶怎么實現(xiàn)?為什么選擇數(shù)據(jù)庫隔離? 已發(fā)布的《多租戶架構(gòu)——SaaS 系統(tǒng)的核心能力》講的是什么是多租戶。這篇進入實現(xiàn)層租戶怎么被識別、數(shù)據(jù)庫怎么被切過去、為什么 EasyAdminBlazor 選擇獨立數(shù)據(jù)庫而不是TenantId行級隔離。一、三種隔離方案先擺在一起比做 SaaS 后臺多租戶數(shù)據(jù)隔離繞不開三條路方案做法優(yōu)點代價共享庫 TenantId 行級隔離所有表加TenantId每次查詢都帶租戶條件成本最低、擴容簡單、跨租戶統(tǒng)計容易漏寫一次WHERE TenantId ?就是數(shù)據(jù)泄露大客戶數(shù)據(jù)混在一起備份恢復無法按客戶做共享庫 獨立 Schema每個租戶一個 schema表結(jié)構(gòu)相同隔離比行級強仍共享實例Schema 數(shù)量多時運維復雜數(shù)據(jù)庫方言差異大MySQL / SQLite 沒有等價 schema 概念獨立數(shù)據(jù)庫每個租戶一套庫連接串各自獨立物理隔離權(quán)限、備份、恢復、遷移都可按租戶做連接數(shù)和運維成本高跨租戶統(tǒng)計要另行處理EasyAdminBlazor 當前采用的是獨立數(shù)據(jù)庫隔離。這不是一個更高級的選擇而是一個針對企業(yè)后臺交付場景的取舍客戶數(shù)量通常有限幾十到幾百但每個客戶對數(shù)據(jù)隔離的要求很高而且很多項目本身就是私有化部署 SaaS 混合。源碼里能看到這個選擇的直接證據(jù)// MultiTenantService.BuildTenantOrmvarfsqlnewFreeSqlBuilder().UseConnectionString(tenantInfo.DataType,tenantInfo.ConenctionString.Replace({database},tenantCode)).UseAdoConnectionPool(true).UseAutoSyncStructure(true).Build();每個租戶用自己的DataTypeConenctionString{database}占位符會被租戶編碼替換。也就是說租戶既可以指向同一臺數(shù)據(jù)庫服務器上的不同庫也可以指向完全不同的實例。二、租戶是怎么被識別的1. 按 Host 識別MultiTenantService.GetCurrentTenant()用請求的 Host 去主庫匹配publicSysTenant?GetCurrentTenant(){varhttpContext_httpContextAccessor.HttpContext;if(httpContextnull)returnnull;// 每個請求只解析一次后續(xù)從 HttpContext.Items 緩存讀取if(httpContext.Items.TryGetValue(TenantContextKey,outvarcached)cachedisSysTenantcachedTenant)returncachedTenant;varhosthttpContext.Request.Host.Value;// e.g. localhost:7230if(string.IsNullOrEmpty(host)){httpContext.Items[TenantContextKey]null;returnnull;}// 在 SysTenant 表中查找 Host 匹配的租戶支持完整 URL 或純 host:portvartenant_mainOrm.SelectSysTenant().DisableGlobalFilter().Where(aa.IsEnabled(a.Hosthost||a.Host$https://{host}||a.Host$http://{host})).First();httpContext.Items[TenantContextKey]tenant;returntenant;}幾個細節(jié)主庫查詢顯式DisableGlobalFilter()——租戶表本身不能被軟刪除過濾器擋住否則匹配行為會變得難以預測。SysTenant.Host支持三種寫法localhost:7230、https://localhost:7230、http://localhost:7230。開發(fā)環(huán)境用端口區(qū)分生產(chǎn)環(huán)境用域名。每個請求只查一次結(jié)果放在HttpContext.Items里避免同一次請求內(nèi)反復查庫。只有IsEnabled true的租戶才會被解析出來停用租戶等于訪問不到。2. Blazor Server 的特殊處理Blazor Server 的交互回調(diào)里HttpContext可能已經(jīng)不可用了所以AdminContext把租戶解析結(jié)果緩存了一次publicSysTenant?Tenant{get{if(!_tenantResolved){_cachedTenant_tenantService?.GetCurrentTenant();_tenantResolvedtrue;}return_cachedTenant;}}同時提供了顯式的切換與失效方法publicvoidInvalidateTenantCache(){_tenantResolvedfalse;_cachedTenantnull;}publicvoidSetTenant(SysTenant?tenant){if(tenant!null!IsValidTenantCode(tenant.Code))thrownewArgumentException(租戶編碼不合法,nameof(tenant));varoldCodeTenantCode;_cachedTenanttenant;_tenantResolvedtrue;if(!string.Equals(oldCode,TenantCode,StringComparison.Ordinal)){// 租戶發(fā)生變化權(quán)限/菜單緩存必須重新構(gòu)建Roles[];RoleMenus[];}}切換租戶在普通 Web 請求里很少發(fā)生但 Blazor Server 的 Circuit 生命周期很長不及時失效就會一直用舊租戶的數(shù)據(jù)所以這里顯式做了緩存清理。三、數(shù)據(jù)庫是怎么切過去的1. AdminContext.Orm 是唯一入口/// summary/// 獲取 FreeSql 實例多租戶模式下自動切換到租戶數(shù)據(jù)庫。/// /summarypublicIFreeSqlOrmTenant!null?_tenantService!.GetTenantFreeSql(Tenant.Code):_mainOrmHandle.Orm;這一行是整條鏈路的關鍵沒解析到租戶單庫模式 / 主站→ 用主庫 ORM解析到租戶 → 用該租戶的 FreeSql 實例。框架注冊的IFreeSql是從MainOrmHandle解析出來的 Singleton而多租戶擴展會把FreeSqlCloud注冊進來FreeSqlCloud : FreeSqlCloudstring, IFreeSql由它按租戶編碼返回不同的實例publicstaticWebApplicationBuilderAddEasyAdminBlazorMultiTenant(thisWebApplicationBuilderbuilder){// 調(diào)用此擴展即啟用多租戶無需再設置 EnableMultiTenant truebuilder.Services.PostConfigureEasyAdminBlazorOptions(oo.EnableMultiTenanttrue);// 關鍵這里絕對不能用 builder.Services.BuildServiceProvider() 去提前解析 MainOrmHandle// 那會創(chuàng)建第二個 DI 容器導致單例被構(gòu)造兩次、生命周期錯亂、配置不生效。builder.Services.AddSingleton(sp{varcloudnewFreeSqlCloud();varmainOrmsp.GetRequiredServiceIFreeSql();cloud.Register(main,()mainOrm);returncloud;});// 替換默認的 NullTenantService 為 MultiTenantServicebuilder.Services.RemoveAllITenantService();builder.Services.AddSingletonITenantService(spnewMultiTenantService(sp.GetRequiredServiceFreeSqlCloud(),sp.GetRequiredServiceIFreeSql(),sp.GetRequiredServiceIHttpContextAccessor()));returnbuilder;}那段注釋值得讀兩遍不要在注冊階段BuildServiceProvider()。這會創(chuàng)建第二個容器單例被構(gòu)造兩次配置不生效屬于很容易埋進去、后期極難排查的坑。2. 誰在主庫誰在租戶庫理解分工比記住 API 更重要數(shù)據(jù)存放位置說明SysTenant租戶清單主庫租戶識別必須查主庫主站自身的用戶、角色、菜單、業(yè)務數(shù)據(jù)主庫主租戶編碼固定為main租戶的用戶、角色、菜單、業(yè)務數(shù)據(jù)租戶庫每個租戶一套完整的組織、權(quán)限、業(yè)務表上傳的文件按租戶分目錄wwwroot/uploads/{tenantCode}/yyyy/MM/dd/緩存 / Redis Key按租戶加前綴tenant:{code}:注意第二行主站也是一個租戶只是它的編碼固定是main。這讓主站 多個客戶站點可以用同一套代碼。文件目錄隔離來自FileServiceprivatestringTenantPrefix_adminContext.Tenant?.Codeis{}code?${code}/:;緩存隔離來自AdminContextpublicconststringMainTenantCodemain;/// summary/// 統(tǒng)一的多租戶緩存/Redis 鍵前綴格式 tenant:{code}:。/// 所有跨租戶共享的緩存、Redis Key 都必須帶上此前綴避免租戶之間串數(shù)據(jù)。/// /summarypublicstringTenantCachePrefix$tenant:{TenantCode}:;數(shù)據(jù)庫隔離了但緩存和文件如果不隔離一樣會串——這一點會單獨用一篇文章展開。四、為什么是獨立數(shù)據(jù)庫1. 收益物理隔離。租戶 A 的數(shù)據(jù)和租戶 B 的數(shù)據(jù)根本不在一個庫里。即使某處代碼漏寫了租戶過濾條件也查不到別人的數(shù)據(jù)——因為它連的是另一個數(shù)據(jù)庫。這是行級隔離給不了的安全下限。按租戶運維。備份、恢復、遷移、導出都可以針對單個客戶做??蛻粢盐业臄?shù)據(jù)給我時直接給一個庫的備份就是完整交付。連接串可指向不同實例。SysTenant上有獨立的DataType和ConenctionString字段名沿用源碼拼寫所以小客戶可以共用一臺數(shù)據(jù)庫服務器上的不同庫大客戶可以放到獨立實例甚至獨立機房私有化部署時同一個程序集可以指向客戶自己的數(shù)據(jù)庫。升級可控。表結(jié)構(gòu)變更可以按租戶灰度出了問題也只影響一個租戶的庫。2. 代價連接數(shù)與資源開銷。每個租戶一套連接池租戶多的時候數(shù)據(jù)庫連接會成為瓶頸。源碼用了UseAdoConnectionPool(true)并緩存已構(gòu)建的 FreeSql 實例避免每個請求都重新建連。建庫與遷移要做自動化。新租戶不能靠人工建表所以必須有自動建表能力——這就是下一篇文章的主角AutoSyncStructure??缱鈶艚y(tǒng)計變難。所有租戶一共多少訂單這類報表需要主庫匯總或者額外的數(shù)據(jù)倉庫??蚣芴峁┑氖沁\行時隔離不提供跨庫分析能力。數(shù)據(jù)庫數(shù)量上限。MySQL / SQL Server 單實例的庫數(shù)量有實際運維上限規(guī)?;瘯r要提前規(guī)劃分片。3. 什么時候不該選它如果你的場景是免費用戶幾萬個、每個用戶數(shù)據(jù)量很小獨立數(shù)據(jù)庫的成本會遠高于行級隔離。多租戶方案沒有銀彈EasyAdminBlazor 選擇的是面向企業(yè)后臺交付的那條路——它解決的是客戶要求數(shù)據(jù)必須分開這個更常見的商業(yè)約束。五、落地時要注意的幾件事1. 租戶編碼是危險輸入必須白名單租戶編碼會進入數(shù)據(jù)庫名、文件路徑、緩存鍵和 Redis Key。所以框架在入口統(tǒng)一做了校驗/// summary/// 租戶編碼白名單字母、數(shù)字、下劃線、短橫線長度 1~50。/// /summary[GeneratedRegex(^[A-Za-z0-9_-]{1,50}$)]privatestaticpartialRegexTenantCodeRegex();publicstaticboolIsValidTenantCode(string?tenantCode){return!string.IsNullOrWhiteSpace(tenantCode)TenantCodeRegex().IsMatch(tenantCode);}測試里鎖定了這些反例../tenant、tenant/1、tenant\1、tenant;1、tenant;drop、tenant.1、租戶1全部拒絕。租戶保存前也會再校驗一次不合法直接攔住privateasyncTaskOnBeforeSaveAsync(AdminSaveEventArgsSysTenante){e.Item.Codee.Item.Code.Trim().ToLower();if(!AdminContext.IsValidTenantCode(e.Item.Code)){awaitSwalService.Error(CommonLocalizer[租戶編碼只允許字母、數(shù)字、下劃線與短橫線長度 1~50]);e.Canceltrue;}}GetTenantFreeSql內(nèi)部還會再校驗一次形成保存時校驗 使用時校驗的雙重防線。2. 主租戶不允許刪除privateasyncTaskOnBeforeDeleteAsync(AdminRemoveEventArgsSysTenante){foreach(varitemine.Items){if(item.Codemain){awaitSwalService.Error(CommonLocalizer[默認租戶不允許刪除]);e.Canceltrue;break;}}...}主庫同時也是main租戶的數(shù)據(jù)庫刪掉等于把系統(tǒng)自身的管理數(shù)據(jù)刪了。3. 租戶表上不要被軟刪除過濾器擋住GetCurrentTenant用了DisableGlobalFilter()。你自己的租戶相關查詢?nèi)绻婕败泟h除實體也要同樣處理否則會出現(xiàn)租戶明明存在但解析不到的詭異現(xiàn)象。4. 租戶內(nèi)的查詢不要跨到主庫AdminContext.Orm在解析到租戶后返回的是租戶庫。業(yè)務代碼統(tǒng)一用這個入口或注入的IFreeSql即可。只有租戶清單、跨租戶統(tǒng)計這類明確要讀主庫的場景才用MainOrmHandle[Inject]MainOrmHandleMainOrm{get;set;}default!;varallMenusawaitMainOrm.Orm.SelectSysMenu().ToListAsync();Pages/Tenant.razor就是這么做的——它要讀主庫的完整菜單樹再同步到租戶庫。5. 關閉多租戶時要有回退路徑框架默認注冊的是NullTenantService它的GetTenantFreeSql會直接拋異常publicclassNullTenantService:ITenantService{publicSysTenant?GetCurrentTenant()null;publicIFreeSqlGetTenantFreeSql(stringtenantCode)thrownewNotSupportedException(請安裝 EasyAdminBlazor.MultiTenant 擴展以啟用多租戶功能);publicTaskListSysMenuGenerateTenantMenus(stringtenantCode)thrownewNotSupportedException(請安裝 EasyAdminBlazor.MultiTenant 擴展以啟用多租戶功能);}所以單庫模式下調(diào)用租戶 API 會立刻報錯而不是靜默拿到主庫——這種顯式失敗比悄悄用錯庫安全得多。六、小結(jié)EasyAdminBlazor 的多租戶實現(xiàn)可以壓縮成四句話識別按請求 Host 在主庫SysTenant表匹配租戶每個請求只解析一次。路由AdminContext.Orm根據(jù)是否解析到租戶返回主庫或租戶庫的 FreeSql 實例。隔離數(shù)據(jù)庫物理隔離文件按{tenantCode}分目錄緩存/Redis Key 加tenant:{code}:前綴。防注入租戶編碼進入數(shù)據(jù)庫名/路徑/緩存鍵之前必須過白名單。獨立數(shù)據(jù)庫帶來的最大代價是新租戶的表結(jié)構(gòu)必須自動建好也就是AutoSyncStructure存在的原因。下一篇專門講它。如果你正在用 .NET 10 Blazor 做多租戶 SaaS 后臺可以看看 EasyAdminBlazor 的做法獨立數(shù)據(jù)庫 按域名識別 菜單/權(quán)限/文件/緩存全鏈路隔離源碼開放可以按自己的商業(yè)模型調(diào)整。文檔https://easyadmin.wang-zhan.com.cn/doc源碼https://gitee.com/gudufy/EasyAdminBlazor
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情小说亚洲| 国产刺激视频| 亚洲天堂久久| 去干网最新版| 日本1区2区不卡视频| 九九九九一级| 中文字幕精品码亚洲| 亚洲91色在线| 欧美操人视频| 九九九久久久| 熟女这里只有精品6| 五月天激情小说| 精品蜜乳AV免费观看| 97蜜桃综合| 国产精品人妻一区二区| 婷婷10月天青娱乐| 97精品国产精品免费观看| 国产乱伦一二三区| 无码WWW免费视频网站| 射久久| 中文字幕欧美日本乱码一线二线 | 久久久com| 人人摸人人干人人拍97| 在线观看免费视频国产| 中文精品一区二去| 三级片网站在线播放| 人妻精品4K4K4K4K4| 中文字幕天天天天天| 亚洲男人天堂2016| 91女优在线观看| 综合色图区| 久草色在线观看| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | www.狠狠| 亚洲男人的天堂AV| 精品人妻一区二区蜜桃视频| 大香蕉黄色一级片免费看| 东亚亚洲无码高清| 偷窥自拍亚洲色图| 97精品国产97久久久久久户外免费| 91精品人妻啪啪间| 曰韩精品视频一区二区| 欧美激情一区二区| 中文字幕日韩电影人妻| 久久久久久性爱视频| 99人妻| 毛片17S| 日本999精品| 偷拍偷窥与盗摄视频专区| 伊人AAA| 亚洲中文字幕在现观看| 亚洲成人美女无吗| 国产亚洲色婷婷99精品91| 成人情色综合网| 精品v日韩欧美国产| 欧美高清91| 狠狠穞A片一區二區三區| 99久久无色码| 色色亚洲| 香港久久久| 伊人96在线| 天天久久久久久| 麻豆黄四叶草网站| 免费精品福利在线观看| 日本狠狠干| 日本人妻伦在线中文字幕| 少妇国产不卡| 亚洲成A∨人影院在线欢看| 麻豆天美国美国产| 蜜乳av一区二区三区| 无码少妇精品一区二区60岁老人 | 色五月婷婷五月天| 国产强奸乱伦无码视频| 日本三级中国三级99人妇网站| 欧美日韩在线小说| 一区二区三区在线日韩影院观看| 收看日本人日bb| 欧美九九九| 欧美韩国你懂得在线 | 激情五月婷婷综合| 人妻少妇精品一区二区三区| 污色区网站| 欧美疯狂做爰xxxx| 久久久国产成人一区二区三区在线| 无码人妻一区二区三区色欲aⅴ | 99.色网| 97超碰天天爱天天爱| 五月婷婷AV| 九月婷婷综合| 欧美综合制服在线| 97干在线| 国产精品99久久久www| 男人的天堂2018.| 999九九九九国产动| 亚洲日韩精品久久久久一区壹牛 | 99精品高潮| 国产成人99久久亚洲综合| 强奸乱伦av电影| 黄色成品网站| 绯色一区二区三区不卡少妇| 99超级碰免费视频| 麻豆一区二区AV天美| www.91人妻.com| 9热9热综合网| 天天澡天天爽日日AV| wwwcaobibi| 欧色综合| 99人妻碰碰碰久久久久禁片| 欧美夜夜狠| 亚洲av总站| 少妇三p| 十八禁av无码免费网站APP| 日韩成人色图| 日韩成人性日韩成人性爱视频在线免费观看 | 中文字幕奈奈美被公侵犯| 亚洲av淫乱| 亚洲国产一区二区三区在线| 四虎午夜影院| 青女在线| 天天搞在线综合网| 亚洲情色综合网| 中文字幕一区二区三区字幕| 男人的天堂2000| 国产精品久久久久久久AV大片| 999狠狠综合| 伊人在线大香蕉视频久久| 欧美偷拍区| 综合亚洲情色| 国产91精品福利在线| 国产精品久久久777| 中文字幕一区二区三区四五区| 岛国在线一区二区三区| 97超碰天天爱天天爱| 中国农村熟妇毛片视频| 欧美草草| 强奸乱伦大香蕉网| 91bbb| 操美女高潮抽搐白浆| 怡红院亚洲怡春院av| 久久久久九九九| 九草九九九| 日韩无码成人电影| 亚洲玖玖爱| 五月丁香久久| 十八禁的黄污污免费网站| 欧美极品色| 激情五月天丁香社区| 5252色欧美在线男人的天堂| 日本三级韩三级99久久| 黄色片A级一区二区三区| 五十路熟女工口 | 免费中文综合精品| 东京太热男人的天堂久久久| 成人女人国产| 人人扣人人操| 国产黄色影片在线观看| 青青久草| 欧美一区二区成人一卡| AV天堂男人的天堂| 亚洲欧美成人在线| 1769国内精品视频| 99啪啪视频| 久久香蕉综合一本到3atv| 97碰碰色| 亚洲天堂女优在线| 国产精品一区二区三区,亚洲综合| 91久久精品美女高潮喷水| 天天视频综合在线观看视频| 啪啪啪男女亚洲中文字幕99| 96爱综合| 日本一级一级一级一级| 日本人妻中文字幕| 日本大香蕉综合网| 美国美女AV在线| 黄色AAAAA欧美| 中文字幕在线2| 九九热在线视频| 奇米四色影视777久久久| 91A欧美电影网站| 龙兴卡官方查询| 一级性爱aaaa| 亚洲欧美高清无码| 国产91丝袜 在线播放| 天天干夜夜肏| 亚洲色丰满少妇高潮| 欧美国产伊人久久久久| 69av一区二区三区| 男人的天堂 在线一区| 日韩99神马视频播放| 天天操天天射天天日| 神马久久久久久| 职场同事知名国产国产精品久久欧美日韩| 日本女厕偷拍| 日韩噜噜69| 中文字幕乱码人妻一区二区三区,99精品| 女人被添高潮免费视频| 亚洲欧美在线观看2021| 午夜男人av| 日韩操逼性鲍| 日韩高清黄片| 久久性爱精品一区| 久久精品国产亚洲妲己影视| 国产精品久久久久久久久久梁医生| 精品人妻一区二区免费看| 久久久久久久久国产| 人妻少妇三级| 男人的天堂免费| 一本大道青青| 久久三区四区| 中文久久| 成人无码在线超碰网| 91欧美大片| 国产精品乱码久久久久| 人妻一区二区三区熟女| 加勒比无码毛片| 九草九九九| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 日日夜夜青青草母狗| 欧美老妇综合网| 午夜天堂网| 亚洲AV无码久久精品蜜桃小说| 操我啊啊啊啊啊| 欧美熟妇乱码在线一区| 亚洲一区二区 麻豆传媒| 日本 免费 一区二区三区 久久香蕉 | 亚洲熟女乱色一区二区三区久久久 | 插老姨肥穴| www.高清无码诱惑一区.com | 97操| 成人福利视频网| 婷婷中文字幕| 国产精品九9| 97激情97激情| 2020天天色综合| 噜噜噜噜久久久精品免费| 蜜臀久久久99久久久久 | 亚洲五月天激情| 在线观看一卡二卡| 双插在线| 老司机午夜精品视频| 在线有码中文字幕| 日韩成人大片在线观看| 亚洲综合113页| 97欧美色资源| 国产三级片在线观看| 99精品国产户外露出| 狠狠中文字幕| 亚州色图欧美| 久久理论字幕视频| 26uuu偷拍亚洲欧洲综合| 亚乱色| 99热这里只有精| 91色爽欧美| 亚洲午夜蜜臀| AV在线性爱| 婷婷久热| 亚洲日本天堂| 亚洲AV成人精品网站在AV| 日本在线视频导航| 超碰97资源中文字幕| 日本免费一区二区不卡 | 国产精品人人爽人人做可爱福利| 婷婷六月色| 欧美乱妇狂野欧美在线视频| 91操熟女| www.色婷婷| 噜噜噜亚洲精品| 黄片免费日韩| 国产亚洲色婷婷久久99精品91| 美欧老女人97| 74成人在线| 欧美九九爱| 久久精品成人| 日韩不卡a级视频专区| 日韩伦理视频| 玖玖爱影院| 国产成人精品亚洲日本| 亚洲精品97久久中文字幕| 精品无码一区二区三区| 又黄又爽在线观看视频 | 四虎影院成年人片| 久久久久久久久久久久欧美日| 粉嫩av平台| 91人人爽人人爽| 国产白丝网站| 99色色网| 国内一级精品| 国产精品视频电影| 国产呦精品系列在线观看| 狠狠色综合网| 日韩精品午夜操呦呦不卡影院| A 天堂在线观看视频| 91国产美女丝袜足交精品视频| 91精品国产91久久青草| 99re6久热只有精品6在线直播 | 国产九月婷婷| 蜜桃久久一区二区| 麻豆天美电影一区二区| 大香蕉综合网| 97精品97| 美中日韩无码| 亚洲素人综合| 丁香五月天堂网| 婷婷激情丁香| 97操97色| 久操凹凸视频| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 无码人妻毛片丰满熟妇精品区| 日韩人妻播放| 欧美色图20P| 丁香六月激情| 熟女乱伦A| 亚州高清av| 在线观看日韩av不卡| av橘色网站| 五月色综合| 亚洲国产精品成人久久蜜臀| 日本啊啊啊啊啊视频| 在线综合 亚洲 欧美中文字幕| 东京热精品97综合网| 天堂无码精品国产久| 91热色| 长长久久免费视频| 免费一级a毛片久久久久久鸭绿欲| 人妻少妇精品久久久| 日本三级网页| 精品黄色电影| 人澡逼| 天天综合亚在线| 啪啪视频亚洲第一| 99re超碰| 97精选久久| 人妻少妇久久久| 秋霞一级鲁丝片A片| 91精品国产长腿丝袜美女| 女同在线视频一区| 偷拍自拍在线视频观看| 青青草国产欧美非洲黑人| 极品粉嫩少妇视频| www.久久| 日韩视频啪啪| 韩国免费播放一级毛片| 久久久9 9 9精品| 亚洲天堂性爱| 啊啊啊啊嗯嗯嗯用力好爽| 国产一区二区三区白丝| 美女91在线| 精品久久九| 日夜啪电影| 自拍大香蕉乱插| 日本淫乱女一区二区三区视频| 激情五月天校园春色网| 爱欲AV| www.91色综合| 女人高潮抽搐喷水视频网站| 口爆吞精在线观看| 91东京热男人的天堂| 麻豆成人AV| 国产免费一区| 久久久99999久网站| 91久久国产综合久久| 国产三级中文有码在线视频| 自拍偷拍草一草| 久久97超碰| 国产精品久久久午夜夜伦鲁鲁| 日韩中文字幕2020| 国产高清不卡视频| 欧美无圣光在线| 婷婷情色综合网| 婷婷色综合| 国产亚州高清国产拍精| 亚洲国产成人福利在线观看| 无码人妻一区二区三区色欲aⅴ| 97碰碰色| 99热在线观看| 思思热国产高清| 欧美色就是色| 亚州一区二区| 国产精品分类在线观看| 特级毛片特黄久久免费看| 天天谢天天干| 日韩激情中文字幕有码| 天天看,天天做| 大香蕉免费乱伦视频| 亚洲第一精品在线视频| 国产人伦a片信息免费片| 丰满人妻一区| 天天天干977| 精品少妇99| 精品1区2区3区| 97超碰9| 亚洲日韩美女丝袜美腿人妻视频| 国产91福利小视频在线观看| 免费久久一级毛片大黄| 亚洲高清国产理伦片| 97天天弄| 欧美性五月| 大香蕉人妻久久| 人人妻人人澡人人爽久久av| 国产一区二区三区高清视频| 亚洲av综合伊人久久| 日本欧美一区二区三区视频麻豆| 99精品视频在线观看免费| 欧美一级黄片视频在线| 超碰人人干| 久久久精品国产亚洲伊人| 精品免费1| 国产在线精品电影观看| 国产精品另类一区大香蕉| 欧美 亚洲精品首页| 91久久久亚洲| 国产三级多多影院2022国产AA一级毛片无码 | 国产精品久久久久综合| 水澄无码AV| 91撸色网 玖玖网 欧美| 久久久久深夜无码| 日韩操啪| 去干网最新版| 内射黑人| 欧美se综合| 伦激情人妻另类人妻| 免费在线观看国内色片网站网址 | 国产精品一区二区三| 人人操,人人插| 一区二区三区激情在线观看| 青青草白白色| 国产麻豆91欧美一区二区久久婷婷国产精品 | 黄色AAAAAAAAAAA大片| 超碰免费人人| 一区二三区四区视频大全套| 色欧洲| 成人午夜小视频手机在线看| 超碰亚洲欧美日韩无| 无码操逼天堂| 国产精品白丝在线播放| 欧美日韩色图片| 五月天精品| 人人艹亚洲| 欧美天堂在线| 韩国手机不卡无码三级视频| 2020视频1区2区3区| 超碰碰小说97| 伊人久久大香线蕉无码| 国产农村妇女精品一| 亚洲Av诱惑| 日韩A优精品在线观看| 啊啊啊啊啊操我视频| 精品国产乱码久久久久久久久久毛片| 韩日性爱av| 精品乱子一区二区三区99| 亚洲欧美97| 国产强奸超碰AV| 丰满搜索结果 -第18页- 久久高清无码 | 九月激情婷婷| 人妻社区男人天堂| 久久日韩精品一区二区| 丝袜AV一二三区| 色欧美在线| 欧美东京热精品A∨| 精品9区| 无码人妻精品一区二区中文| 天堂麻豆天美| 亚洲小电影免费涩涩成人在线高清| 肉丝网站91| 国产精品白领在线观看 | 青青久久久| 久久无码电影| 舔舔啊| 免费av大片| 亚欧美综合| 香蕉人人操tv| av天堂加勒比| 五月婷婷影院| 亚洲av青草久久一区二区| 97免费在线观看| 成功精品影院| 日本一级特级毛片视频| 性色高清在线| 制度丝袜99| 91精品婷婷国产综合久久| 首页中文字幕中文字幕免费| 亚洲丨在线| 久久久蜜桃一区二区三区| 欧美黑人熟妇精品91| 久久国产99精品72福利| 黄片免费视频2019| 亚洲一二三四区在线免费看视频| 无码日韩网站| 国产精品网址| 亚洲欧洲无码97久久精品| 人人潮人人摸| 青青草好吊色| se,,,亚洲欧美| 欧美中出1| 午夜精品久久久| 91久久18禁| 欧美精品1区2区3区| 亚洲Av诱惑| 亚洲不卡av在线| 五月天玖玖资源站| 啊啊啊好想要| 青草园大香蕉| 天天射网| 精品国产www久久| 国产精品扒开腿做爽爽爽视频| 亚州色站 日韩电影| 欧美日本一区二区a人| 亚洲日韩电影| 狠狠躁日日躁夜夜躁A| 成人情色一区二区| 国产精品久久久久亚洲av| 婷婷人妻激情| 亚洲国产精品久久久男人的天堂| 国产激情久久久| 久久久亚洲Av| 国产深喉视频一区二区| 亚洲少妇综合在线播放| 清纯唯美综合| 香蕉免费一区二区三区不读| 97久精品| 性爱av在线免费观看| 无码动漫av中文字幕| 91色人| 久久熟妇五十路一区| 婷婷丁香久久| 日韩国产乱子伦App| 插入逼91| 久久这里只| 破处bbq| 日韩欧美偷拍美女视频| 黄页18禁| 欧美日韩超碰在线| 成视频在线观看免费看| 国产精品久久久久久久黄无码| 亚洲精品人体| 色臀AV| 久久精品无码熟妇一区二区三区视频导航 | 欧美午夜精品久久久久久3D| 国产在线视视频有精品| 久久久亚洲欧美综合| 亚洲精品一区二区精品| 日韩免费中文字幕视频| 久久人妻| 免费a v| 91青青草| 久艹日日日| 熟女人妻一区二区三区免费看| 91天美免费| 欧洲色综合| 中文字幕二区| 骚熟女AV网| 精品一区二区2| 日韩97视频| 久久精品高清无码一区| 韩国嫰模上门援交视频| 欧美色图97| 鸥美极品| 五十路熟女,国产欧美精品区一区二区三区| 色欲人妻一区二区在线| 日本一片一区| 成人在线永久| 国产亚热在线久久| 我爱操| 色九九久九九| 99re免费| 亚洲国产欧美一区二区潘金莲| 91性高朝久久久久久久久| 天天夜躁日日躁狠狠2002| 国产兽交视频在线播放| 二男一女成人A片| 福利视频一区二区微拍| 日韩中文字幕视频在线观看| 久久曰曰| 第四色色综合91| 久日91在线| 夜夜做夜夜爽精品视频| 91 天天综合| 日本视频在线中文字幕| 无码精品久久久天天影视| 国产精品久久久久久久毛片1| 婷婷丁香五月天综合东京热| 丁香五月激情婷婷| 欧美最婬乱婬爆婬性视频 | 午夜男人一级A片7777| 五月大香蕉| 亚洲熟妇丝袜在线观看| av 模特一区了| 美女91网| 91av一区二区在线观看| 欧美日韩性爱视屏免费看了| 超碰超碰95| 国产精品久久久久久久久久久久久久久 | 精品999999| 韩日性爱av| 精品一区二区三区蜜桃臀赵总 | 天操天操夜操夜月操月年年操| 性色av一区二区| 超碰色美女| 91在线精品一区二区三区| 国产操偷| 91女人的网站| 丰满熟女人妻一区二区三五十一路| 蜜臀99久| 国模无码一区二区三区在线| 久久色激情一区二区三区| 97网址97| 色综合国产在线观看| 乱伦3P视频| 秋霞男人网| 亚洲精品欧洲色| 欧美亚洲另类在线蜜桃| 99re不伦| 91综合熟女| 无码视频黄色网战| 久久精品视频在线观看| 91网站18禁| 日韩黄色一区二区三区| 青青草十区九区爱夜| 91 天天综合| 午夜久久无码1000合集| 国产精品suv一区| 91这里只有精品| 亚洲综合婷婷| 久久中文字幕女同性恋一区| A 在线网址| 91丝袜美腿网站| 精品欧美乱码久| 欧美日韩操逼嗦吊| 91老熟女91老女人| 午夜偷拍久久熟女| 青青伊人久久| 亚洲国产一区二区日韩专区| 夜夜操夜夜爽夜夜高潮| 另类图片综合| 国产又黄又猛又粗又爽的网站| 中文字幕免费在线观看| 欧美日韩性爱操大逼| 国产第11页| 亚洲无码太久| 日韩中文字幕av在线播放| 日韩性爱一级片| 91精品电影18| 插入逼91| 国产超碰在线一区| 92性色国产午夜福利在线661| 久久亚洲骚逼综合| 久久婷婷电影网| 熟妇高潮一区二区免费视频| 最新亚洲黄色免费电影| 亚洲熟妇丝袜在线观看| 2018天天日天天日| 九九夜精品九九在线| 大香蕉视频一二三区| 久久鲁夜| 黄页视频网站野外| julia ann久久| www.色综合| 久久在肏| 成人老鸭窝人人在线视频| 亚洲 中文字幕 精品| 亚洲自拍一区夜夜操| 天天色天天干天天射| 青青伊人加勒比海| 婷婷丁香成人| 屁股久久久久久| 欧美大香蕉97| 92午夜免费福利视频| 这里只有97精品| 啪啪视频mP4| 激情 欧美 亚洲 小说| 伊人aaa| 熟女突然公开看18禁影片| 蜜臀99久| 亚洲男人的天堂AV| 日本在线播放不卡一区| av天堂电影网| 亚州 综合 色图| 国产激情在线| yiqicaoav| 成人黄页| 亚洲日韩肥臀视频在线观看| 国产精品亚洲一级av第二区| 就去色综合| 久久久久9久久久久| 萌白酱自拍视频| 亚洲无码一区成人免费午夜| www.99热在线只有精品| 日本熟女中文| 日韩操逼性鲍| 欧美在线电影| 精品二999| 亚洲影视综合网| 久久精品高清AV| 97免费视频在线观看| 久久人妇| 9999伦理视频| 国产精品成人在线| 一起草日韩| 91丝袜| 久久久久久久久国产| 久久女人视频| 综合色图区| 3028国产精品| 欧美操人视频| se..亚洲欧美| 欧美色吧综合| 无码操逼天堂| 91天堂视频| 欧美嫩性色| 国产激情在线观看| 国产中文精品一区二区在线观看| 久草加勒比一区在线| 五十路熟女,国产欧美精品区一区二区三区| 精品免费1| 久久精彩免费视频| 丰满少妇精品一区二区| 一本一道波多野毛片中文在线| 中文字幕五区| 成人免费在线网站| 久久国产AⅤ| 国产尤物在线三区| 亚州色阁| 好爽,再快点啊哈嗯嗯嗯嗯| 精品国产片亚洲一区| 亚洲AV无码翔田千里网站| 久久久精精精| 一卡二卡在线播放| 久久成人午夜狠狠| 婷婷美人网| 欧美狠狠弄| 大香蕉在线视频15| 日韩国语字幕| 亚洲人妻一区二区三区| 26uuu国产| 日韩操人| 99久久九九| 99热99色| 欧美操人| 精品一区二区三区蜜桃臀赵总| 色婷久久| 99re视频在线观看这里只有精品| 五月天激情四射| 色色婷婷丁香| 亚洲精品色| 亚洲精品99| 日本免费中文一区二区三区四区| 六月天婷婷| 伊人91| 激情99| 日韩美脚一区二区网站| 日韩亚洲美女一区久久| 日韩女优中文字幕| 亚洲天堂自拍| 亚洲男人天堂2013| 久欲AV| AV女资源| 久久久久9999| 八戒午夜福利理论片| 欧美日韩国产另类综合| 久草网站免费在线观看| 超碰人人超在线观看| 激情婷婷| 日夜久久久九九九久| 91激情网| 97国产中文| 天天爽天天操啊啊啊| 国产二区三区免费视频| 欧美性生活免费网| 色色色色电影网| 精品女人999| 亚洲色图国产另类| 久久久天美| 久艹日日日| 色天使亚洲综合在线观看| 日韩av在线免费网站| 丁香五月天堂网| 9热9热综合网| 久久久久深夜无码| 日韩av无码网站| 乱伦图av| 大香蕉亚洲中文| 国产亚洲色婷婷99精品91| 91狠狠狠| 欧美一二三级精品在线| 国产伦精品一区二区三区在线观| 麻豆亚洲Av成人无码一区精品| 神马久久久久久久久久| 黄页网站成人免费| 欧美特大AA级黄片| a在线视频免费观看| 黑人天8A∨高清网站| 少妇蹲下买菜露大唇0| 久久综合九色综合欧洲98| 国产亚洲精品美女久久久m| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 另类小说综合网| 久久久网站| 搞中出视频在线观看| 啊啊啊啊免费视频| 久久社区一区二区三区| 97色五月天完| 在线播放欧洲免费av| gogogo免费高清看中国国语| 天天操夜夜操| 好爽要喷了| 国产成人自拍视频视频| 欧美另类色图片| 精品久久久一本一道| 亚洲一区二区三区不卡国产欧美| 欧洲色色| 亚州欧美另类| 97欧美性爱| 韩国女主播青草在线| 91精品老女人| 色爱综合网| 999色欧美中文字幕| 国产操偷| 色综合超碰超| 免费久久一级毛片大黄| 精品大久久| 97欧美综合| 丁香激情网| 大色网久久| 青青操狠狠撩| 欧美人妻另类在线| 日本高清_区二区三区| 国厂麻豆77q4| 亚欧性爱无码| 久久久久亚洲精品| 欧美激情视频在线一区| 亚洲欧美性生活| 丁香五六月啪啪| 青青色综合| 日韩av性爱在线播放| 热天堂一区二区| 2017av无码免费无线播| 91在线美女| 日本影视久久免费| 爱干爱射网啊啊啊| 一级性爱视频免费在线| 亚洲色图加勒比| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产在线视视频有精品| 啊啊啊轻点在线观看| 色色色色网站| 黄色工厂这里只有精品| 在线 制服丝袜中出 人妻| 色香天天| 中文字幕视频一区视频二区| 欧美性爱精品七区| 97国产天堂岛| 少妇干B| 亚洲欧美综合图片| http://qxhbdz.com| 亚洲自拍偷拍视频在线 | 久久精品 六十路 熟女 欧美| 亚洲欧美九九九| 熟妇的味道HD中文字幕| 日本孕妇孕交| 色99色| 91国产操逼视频| 欧日韩在线观看| 国产精品老师| 青草精品视频日本久久久久网站在线| 91天天日| 国产精品无码av| 清纯唯美第一页| 91在线美女| 日韩卡一卡二卡三在线| 精品超碰色| 在线观看十八禁| 亚洲av综合色区无码一| 加勒比aⅴ| 欧美久久婷婷| 成人网址在线观看| 欧美一区二区三区不卡高清视频| 国产精品不卡一区二区三区| 五月婷婷激情综合| A一区片| 老熟女综合网 | 国产成人自拍视频视频| 91中出在线| 亚州色站 日韩电影| 中文字幕 国产区| 最新无码国产| 极品出轨视频网站| 91天美传媒精品| 色狠狠色| 黄片色区软件| 国产自制av蜜乳| 91精品操美女| 色天堂综合| 欧美亚洲国内自拍| 日韩少妇一区二区三区| 欧美性爱综合,免费| 亚洲欧美变态| 96国产污污污丝袜| 玖玖97综合| 91久久久久久久久18| 第四色奇米影视777| 超碰碰97资源站| 加勒比伊人影院| 殴美日韩m| 日日夜夜狠狠| 国产超碰人人爽人人做| 一二三四视频中文字幕在线看| 伊人九九九| 亚洲亚洲亚洲天堂天堂| 大香蕉男人的天堂| 日韩精彩免费| 婷婷久草一区二区三区| 超碰人人干| 亚洲成人性爱在线观看| 久久这里只精品免费福利| juliaann欧美丝袜办公室| www.av不卡中文字幕| 午夜福利区| 国产白嫩精品久久| 极品白嫩福利在线| 国产成人亚洲精品自产在线| 日本女人操逼| 久久精品性| 九九综合久久| 被体育老师抱着c到高潮| 国产日韩精品人妻久久久久色欲网站| 婷婷操视频| 成人精品无码| 国产精品点击进入在线影院高清| 亚洲激情视频| 欧美99999| 女人综合网| 91综合中文字幕| 欧美天天综合| 在线97视频| 91超碰在线| 久久永久无码人妻视频| 麻豆天美传媒毛片| 私人尤物在线精品不卡| 思思久热在线精品66| 国产精品内射婷婷一级二| 九九综合九九综合| 亚洲欧美色图小说| WWW啪啪的com| AAAAAAAAA黄片| 伊人网综合在线视频| 人人射人人操人人摸| 国产强奸超碰AV| 五月丁香婷婷综合网| 五月婷色| 亚洲免费精品一区| 你草精品在线视频| 亚洲色91C| 亚洲极品| 天天伊人| 日日操免费视频| 综合免费无码中文| 狠狠色综合网| 久久久工口| 中国小夫妻勾搭露脸淫荡对白| 夜夜 中文视频rt| 毛片99-全集电影手机免费观看完整-B029AV| 久久后入制服| 亚洲91在线| 欧美日韩另类在线播放| 亚洲色图殴美色图激情乱伦| 亚洲综合婷婷| 日韩av熟女一区二区三区成人| 欧美久久婷婷| 超碰97.com| 国产强奸无码乱伦| 亚洲囯产精品女人久久久| 久久精品国产72国产精品福利| www.99热| 午夜福利区| 高精欧美色| 性饥渴少妇av无码毛片| 人妻精品一区二区在线| 国产不卡片| 99re6国产精品99re| 熟妇熟女一区二区三区| 亚洲自拍天堂| 深爱五月天| 97一区二区三区视频| 日韩综合97p| 亚洲囯产精品女人久久久| 五月丁香影院| 日韩精品第3页| 国产AV中文| 黄片免费久久久久久久| 91爱综合| 妇女乱色二区| 100啪啪视频大全| 97干在线| 老女人碰碰在线碰碰视频| 国产熟女无套内射| 97人人操人人摸| 日韩欧美亚洲国产日韩| 春色综合免费| 色翁荡息又大又硬又粗又爽| 性吧在线视频| 伊人在线大香蕉视频久久| 国产成人欧美精品在线| av一区二区三区 中文| 粉嫩少妇自慰在线| 九九九精品| 婷婷久久五月天| 亚州欧美综合| 午夜操逼不卡| 久久9久9久99久9久9| 国产久久天堂资源| 日韩性爱再线视频| 粉嫩小泬久久久一区二区| 精品免费一区| 丁香五月婷婷五月| 国产97在线播放| 人人看欧美性爱| 天操天操夜操夜月操月年年操| 亚洲资源一区| 欧美十八禁在线看| 欧美精品,四区。五区| 370p日韩欧美亚洲精品| 日本丝袜美腿人妻九九| 啊啊啊爽爽| 五月丁香影院| 狠狠入| 九热视频| 99热精品在线观看| 亚洲日本韩国在线| 精品二区三四区五电影 | 亚州熟女乱伦| 午夜呻吟欧美| 亚洲美女AV无码| 欧美精品成人亚洲| 久久久9999| 天天看综合网| 亚洲色狠| 射丝袜高跟鞋99| 亚洲āv网址在线观看| 福利风月五月天影院| av网站免费看| 宗合情欲网| 日本性爰一道本| 久久久国产精品亚洲精品| 久干9操| 亚洲第一页综合在线| 亚洲经典啪啪| 麻豆成人AV| 91在线美女| 国产AAAAAABBBBB| 亚洲吊色| 国产精品视频白浆免费| 91中出在线| 天天爱天天韩国日本牛牛牛牛| 日本加勒比无码专区| 啊a一区在线| 免费αV在线视频| 亚洲男人综合网| 国产乱伦性爱AV| 亚洲性天堂| 国产精品乱码久久久久久久久久久久| 国产亚洲日韩欧| 涩涩久久精品| 91操操| 亚洲精品国语在线播放| 美女诱惑在线一区| 手机看av网站在线看| 91亚洲欧美激情| 一区 欧美 日韩 麻豆| 中国国产精品一区视频| 91黄射| 精品人人| 99热99在线播放激情| 台湾佬大香蕉| 97超久碰| 人人考人人摸人人干| 日本不卡五区| 欧洲精品久久| 99色视频| 欧美精品一区二区少妇免费A片| 色偷偷人人玩人人舔人人操人人摸人人爽 | 激情五月综合| 夜夜操美女| 黄页网站成人免费| 欧美三级免费伊人| 岛国成人av在线播放网址| 国产在线视频午夜精华在| 自拍亚洲综合| 欧美亚洲激情小说| 欧美亚洲另类在线蜜桃| 狠狠爱大香蕉| 青操影院| 国产精品久久久久久夜夜夜| 一区三区啪啪| 国产精品国产亚洲区艳妇糸列| 91高清日| 午夜精品久久久久| 这里只有精品久久| 萌白酱自拍视频| 在线视频 亚洲精品| 色综合1991| 久久综合女优| 天堂九九九九九九九九九| 色色色天美视频| 岛国黄片网站| 偷拍盗拍亚洲色图图片 | 熟妇操花| 天天狠操| 一区在线精品中文字幕| av2014 日韩在线中文字幕| 美日韩一二三区| 亚洲AV乱码专区国产噜噜亚洲| 日韩一级片| 丝袜剧情| 欧美性爱无码一区二区三区| 九色黄站| 男人天堂2019| 91模特在线观看| 97国产伦理| 抽插爽| 国产精品肉丝自拍| 9九九九九视频在线观看| 无码日韩网站| 强奸乱伦日韩AV| 一区二区三区成人高清视频| 免费成人在线观看91| 国产一级内射高清视频 | 青青操少妇| 亚洲国产综合久久久性感熟妇| 黄污污污污| 色色亚洲| 色综合天天| 五月激情天| 狠狠五月天| 丁香五月影院| 91久久婷婷| 中文字幕成人| 九九综合色| 99九九精品| 五月天婷婷久久| 操婷婷逼| 中文字幕 国产区| 99自拍视频在线| 久久久18| 五月天婷婷欧美三区| 久久久久久亚洲精品不卡人乳| 五月丁香六月激情综合| 五月天激情婷婷| 玖玖综合.com| 91 丝袜在线| 884t在线| 激情小说亚洲图片| 99福利社| 香港久久久| 久久久久久久97| 伊人天天久久动态图| 日韩精品在线放| 亚洲精品毛片在线观看| 激情视屏国产乱伦强奸| 国产在线视视频有精品| 日本综合色图|