久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Spring Security OAuth2分布式系统认证解决方案

發(fā)布時(shí)間:2024/1/18 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Security OAuth2分布式系统认证解决方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 1 什么是分布式系統(tǒng)
  • 2 分布式認(rèn)證需求
  • 3 分布式認(rèn)證方案
    • 3.1 選型分析
    • 3.2 技術(shù)方案
  • 4 OAuth2.0
    • 4.1 OAuth2.0介紹
    • 4.2 Spring Cloud Security OAuth2
      • 4.2.1 環(huán)境介紹
      • 4.2.2 環(huán)境搭建
        • 4.2.2.1 父工程
        • 4.2.2.2 創(chuàng)建UAA授權(quán)服務(wù)工程
        • 4.2.2.3 創(chuàng)建Order資源服務(wù)工程
      • 4.2.2.授權(quán)服務(wù)器配置
        • 4.2.2.1 EnableAuthorizationServer
        • 4.2.2.1.配置客戶端詳細(xì)信息
        • 4.2.2.2.管理令牌
        • 4.2.2.3.令牌訪問端點(diǎn)配置
        • 4.2.2.4.令牌端點(diǎn)的安全約束
        • 4.2.2.5 web安全配置
    • 4.2.3.授權(quán)碼模式
        • 4.2.3.1 授權(quán)碼模式介紹
        • 4.2.3.2 測試
      • 4.2.4. 簡化模式
        • 4.2.4.1 簡化模式介紹
      • 4.2.5.密碼模式
        • 4.2.5.1 授權(quán)碼模式介紹
        • 4.2.5.2 測試
      • 4.2.6.客戶端模式
        • 4.2.6.1 客戶端模式介紹
      • 4.2.7.資源服務(wù)測試
        • 4.2.7.1 資源服務(wù)器配置
        • 4.2.7.2 驗(yàn)證token
        • 4.2.7.3 編寫資源
        • 4.2.7.4 添加安全訪問控制
        • 4.2.7.5 測試


1 什么是分布式系統(tǒng)

隨著軟件環(huán)境和需求的變化 ,軟件的架構(gòu)由單體結(jié)構(gòu)演變?yōu)榉植际郊軜?gòu),具有分布式架構(gòu)的系統(tǒng)叫分布式系統(tǒng),分布式系統(tǒng)的運(yùn)行通常依賴網(wǎng)絡(luò),它將單體結(jié)構(gòu)的系統(tǒng)分為若干服務(wù),服務(wù)之間通過網(wǎng)絡(luò)交互來完成用戶的業(yè)務(wù)處理,當(dāng)前流行的微服務(wù)架構(gòu)就是分布式系統(tǒng)架構(gòu),如下圖:

分布式系統(tǒng)具體如下基本特點(diǎn):

1、分布性:每個(gè)部分都可以獨(dú)立部署,服務(wù)之間交互通過網(wǎng)絡(luò)進(jìn)行通信,比如:訂單服務(wù)、商品服務(wù)。

2、伸縮性:每個(gè)部分都可以集群方式部署,并可針對部分結(jié)點(diǎn)進(jìn)行硬件及軟件擴(kuò)容,具有一定的伸縮能力。

3、共享性:每個(gè)部分都可以作為共享資源對外提供服務(wù),多個(gè)部分可能有操作共享資源的情況。

4、開放性:每個(gè)部分根據(jù)需求都可以對外發(fā)布共享資源的訪問接口,并可允許第三方系統(tǒng)訪問。

2 分布式認(rèn)證需求

分布式系統(tǒng)的每個(gè)服務(wù)都會(huì)有認(rèn)證、授權(quán)的需求,如果每個(gè)服務(wù)都實(shí)現(xiàn)一套認(rèn)證授權(quán)邏輯會(huì)非常冗余,考慮分布式系統(tǒng)共享性的特點(diǎn),需要由獨(dú)立的認(rèn)證服務(wù)處理系統(tǒng)認(rèn)證授權(quán)的請求;考慮分布式系統(tǒng)開放性的特點(diǎn),不僅對系統(tǒng)內(nèi)部服務(wù)提供認(rèn)證,對第三方系統(tǒng)也要提供認(rèn)證。分布式認(rèn)證的需求總結(jié)如下:

統(tǒng)一認(rèn)證授權(quán)

提供獨(dú)立的認(rèn)證服務(wù),統(tǒng)一處理認(rèn)證授權(quán)。

無論是不同類型的用戶,還是不同種類的客戶端(web端,H5、APP),均采用一致的認(rèn)證、權(quán)限、會(huì)話機(jī)制,實(shí)現(xiàn)統(tǒng)一認(rèn)證授權(quán)。

實(shí)現(xiàn)統(tǒng)一則認(rèn)證方式必須可擴(kuò)展,支持各種認(rèn)證需求,比如:用戶名密碼認(rèn)證、短信驗(yàn)證碼、二維碼、人臉識別等認(rèn)證方式,并可以非常靈活的切換。

應(yīng)用接入認(rèn)證

應(yīng)提供擴(kuò)展和開放能力,提供安全的系統(tǒng)對接機(jī)制,并可開放部分API給接入第三方使用,一方應(yīng)用(內(nèi)部 系統(tǒng)服務(wù))和三方應(yīng)用(第三方應(yīng)用)均采用統(tǒng)一機(jī)制接入。

3 分布式認(rèn)證方案

3.1 選型分析

1、基于session的認(rèn)證方式

在分布式的環(huán)境下,基于session的認(rèn)證會(huì)出現(xiàn)一個(gè)問題,每個(gè)應(yīng)用服務(wù)都需要在session中存儲(chǔ)用戶身份信息,通過負(fù)載均衡將本地的請求分配到另一個(gè)應(yīng)用服務(wù)需要將session信息帶過去,否則會(huì)重新認(rèn)證。

這個(gè)時(shí)候,通常的做法有下面幾種:

Session復(fù)制:多臺(tái)應(yīng)用服務(wù)器之間同步session,使session保持一致,對外透明。

Session黏貼:當(dāng)用戶訪問集群中某臺(tái)服務(wù)器后,強(qiáng)制指定后續(xù)所有請求均落到此機(jī)器上。

Session集中存儲(chǔ):將Session存入分布式緩存中,所有服務(wù)器應(yīng)用實(shí)例統(tǒng)一從分布式緩存中存取Session。

總體來講,基于session認(rèn)證的認(rèn)證方式,可以更好的在服務(wù)端對會(huì)話進(jìn)行控制,且安全性較高。但是,session機(jī)制方式基于cookie,在復(fù)雜多樣的移動(dòng)客戶端上不能有效的使用,并且無法跨域,另外隨著系統(tǒng)的擴(kuò)展需提高session的復(fù)制、黏貼及存儲(chǔ)的容錯(cuò)性。

2、基于token的認(rèn)證方式

基于token的認(rèn)證方式,服務(wù)端不用存儲(chǔ)認(rèn)證數(shù)據(jù),易維護(hù)擴(kuò)展性強(qiáng), 客戶端可以把token 存在任意地方,并且可以實(shí)現(xiàn)web和app統(tǒng)一認(rèn)證機(jī)制。其缺點(diǎn)也很明顯,token由于自包含信息,因此一般數(shù)據(jù)量較大,而且每次請求都需要傳遞,因此比較占帶寬。另外,token的簽名驗(yàn)簽操作也會(huì)給cpu帶來額外的處理負(fù)擔(dān)。

3.2 技術(shù)方案

根據(jù) 選型的分析,決定采用基于token的認(rèn)證方式,它的優(yōu)點(diǎn)是:

1、適合統(tǒng)一認(rèn)證的機(jī)制,客戶端、一方應(yīng)用、三方應(yīng)用都遵循一致的認(rèn)證機(jī)制。

2、token認(rèn)證方式對第三方應(yīng)用接入更適合,因?yàn)樗_放,可使用當(dāng)前有流行的開放協(xié)議Oauth2.0、JWT等。

3、一般情況服務(wù)端無需存儲(chǔ)會(huì)話信息,減輕了服務(wù)端的壓力。

分布式系統(tǒng)認(rèn)證技術(shù)方案見下圖:

流程描述:

(1)用戶通過接入方(應(yīng)用)登錄,接入方采取OAuth2.0方式在統(tǒng)一認(rèn)證服務(wù)(UAA)中認(rèn)證。

(2)認(rèn)證服務(wù)(UAA)調(diào)用驗(yàn)證該用戶的身份是否合法,并獲取用戶權(quán)限信息。

(3)認(rèn)證服務(wù)(UAA)獲取接入方權(quán)限信息,并驗(yàn)證接入方是否合法。

(4)若登錄用戶以及接入方都合法,認(rèn)證服務(wù)生成jwt令牌返回給接入方,其中jwt中包含了用戶權(quán)限及接入方權(quán)限。

(5)后續(xù),接入方攜帶jwt令牌對API網(wǎng)關(guān)內(nèi)的微服務(wù)資源進(jìn)行訪問。

(6)API網(wǎng)關(guān)對令牌解析、并驗(yàn)證接入方的權(quán)限是否能夠訪問本次請求的微服務(wù)。

(7)如果接入方的權(quán)限沒問題,API網(wǎng)關(guān)將原請求header中附加解析后的明文Token,并將請求轉(zhuǎn)發(fā)至微服務(wù)。

(8)微服務(wù)收到請求,明文token中包含登錄用戶的身份和權(quán)限信息。因此后續(xù)微服務(wù)自己可以干兩件事:1,用戶授權(quán)攔截(看當(dāng)前用戶是否有權(quán)訪問該資源)2,將用戶信息存儲(chǔ)進(jìn)當(dāng)前線程上下文(有利于后續(xù)業(yè)務(wù)邏輯隨時(shí)獲取當(dāng)前用戶信息)

流程所涉及到UAA服務(wù)、API網(wǎng)關(guān)這三個(gè)組件職責(zé)如下:

1)統(tǒng)一認(rèn)證服務(wù)(UAA)

它承載了OAuth2.0接入方認(rèn)證、登入用戶的認(rèn)證、授權(quán)以及生成令牌的職責(zé),完成實(shí)際的用戶認(rèn)證、授權(quán)功能。

2)API網(wǎng)關(guān)

作為系統(tǒng)的唯一入口,API網(wǎng)關(guān)為接入方提供定制的API集合,它可能還具有其它職責(zé),如身份驗(yàn)證、監(jiān)控、負(fù)載均衡、緩存等。API網(wǎng)關(guān)方式的核心要點(diǎn)是,所有的接入方和消費(fèi)端都通過統(tǒng)一的網(wǎng)關(guān)接入微服務(wù),在網(wǎng)關(guān)層處理所有的非業(yè)務(wù)功能。

4 OAuth2.0

4.1 OAuth2.0介紹

OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶授權(quán)第三方應(yīng)用訪問他們存儲(chǔ)在另外的服務(wù)提供者上的信息,而不需要將用戶名和密碼提供給第三方應(yīng)用或分享他們數(shù)據(jù)的所有內(nèi)容。OAuth2.0是OAuth協(xié)議的延續(xù)版本,但不向后兼容OAuth 1.0即完全廢止了OAuth1.0。很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH認(rèn)證服務(wù),這些都足以說明OAUTH標(biāo)準(zhǔn)逐漸成為開放資源授權(quán)的標(biāo)準(zhǔn)。

Oauth協(xié)議目前發(fā)展到2.0版本,1.0版本過于復(fù)雜,2.0版本已得到廣泛應(yīng)用。

參考:https://baike.baidu.com/item/oAuth/7153134?fr=aladdin
Oauth 協(xié)議:https://tools.ietf.org/html/rfc6749

下邊分析一個(gè) Oauth2認(rèn)證的例子,通過例子去理解OAuth2.0協(xié)議的認(rèn)證流程,本例子是某個(gè)客戶端網(wǎng)站使用微信認(rèn)證的過程,這個(gè)過程的簡要描述如下:

用戶借助微信認(rèn)證登錄客戶端網(wǎng)站,用戶就不用單獨(dú)在客戶端注冊用戶,怎么樣算認(rèn)證成功嗎?客戶端網(wǎng)站需要成功從微信獲取用戶的身份信息則認(rèn)為用戶認(rèn)證成功,那如何從微信獲取用戶的身份信息?用戶信息的擁有者是用戶本人,微信需要經(jīng)過用戶的同意方可為客戶端網(wǎng)站生成令牌,客戶端網(wǎng)站拿此令牌方可從微信獲取用戶的信息。

1、客戶端請求第三方授權(quán)

用戶進(jìn)入客戶端的登錄頁面,點(diǎn)擊微信的圖標(biāo)以微信賬號登錄系統(tǒng),用戶是自己在微信里信息的資源擁有者。

點(diǎn)擊“微信”出現(xiàn)一個(gè)二維碼,此時(shí)用戶掃描二維碼,開始給客戶端網(wǎng)站授權(quán)。

2、資源擁有者同意給客戶端授權(quán)

資源擁有者掃描二維碼表示資源擁有者同意給客戶端授權(quán),微信會(huì)對資源擁有者的身份進(jìn)行驗(yàn)證, 驗(yàn)證通過后,微信會(huì)詢問用戶是否給授權(quán)客戶端網(wǎng)站訪問自己的微信數(shù)據(jù),用戶點(diǎn)擊“確認(rèn)登錄”表示同意授權(quán),微信認(rèn)證服務(wù)器會(huì)頒發(fā)一個(gè)授權(quán)碼,并重定向到客戶端的網(wǎng)站。

3、客戶端獲取到授權(quán)碼,請求認(rèn)證服務(wù)器申請令牌:

此過程用戶看不到,客戶端應(yīng)用程序請求認(rèn)證服務(wù)器,請求攜帶授權(quán)碼。

4、認(rèn)證服務(wù)器向客戶端響應(yīng)令牌:

微信認(rèn)證服務(wù)器驗(yàn)證了客戶端請求的授權(quán)碼,如果合法則給客戶端頒發(fā)令牌,令牌是客戶端訪問資源的通行證。此交互過程用戶看不到,當(dāng)客戶端拿到令牌后,用戶在客戶端網(wǎng)站看到已經(jīng)登錄成功。

5、客戶端請求資源服務(wù)器的資源

客戶端攜帶令牌訪問資源服務(wù)器的資源。

客戶端網(wǎng)站攜帶令牌請求訪問微信服務(wù)器獲取用戶的基本信息。

6、資源服務(wù)器返回受保護(hù)資源

資源服務(wù)器校驗(yàn)令牌的合法性,如果合法則向用戶響應(yīng)資源信息內(nèi)容。

以上認(rèn)證授權(quán)詳細(xì)的執(zhí)行流程如下:

通過上邊的例子我們大概了解了OAauth2.0的認(rèn)證過程,下邊我們看OAuth2.0認(rèn)證流程:

引自O(shè)Aauth2.0協(xié)議rfc6749 https://tools.ietf.org/html/rfc6749

OAauth2.0包括以下角色:

1、客戶端

本身不存儲(chǔ)資源,需要通過資源擁有者的授權(quán)去請求資源服務(wù)器的資源,比如:Android客戶端、Web客戶端(瀏覽器端)、微信客戶端等。

2、資源擁有者

通常為用戶,也可以是應(yīng)用程序,即該資源的擁有者。

3、授權(quán)服務(wù)器(也稱認(rèn)證服務(wù)器)

用于服務(wù)提供商對資源擁有的身份進(jìn)行認(rèn)證、對訪問資源進(jìn)行授權(quán),認(rèn)證成功后會(huì)給客戶端發(fā)放令牌(access_token),作為客戶端訪問資源服務(wù)器的憑據(jù)。本例為微信的認(rèn)證服務(wù)器。

4、資源服務(wù)器

存儲(chǔ)資源的服務(wù)器,本例子為微信存儲(chǔ)的用戶信息。

現(xiàn)在還有一個(gè)問題,服務(wù)提供商能允許隨便一個(gè)客戶端就接入到它的授權(quán)服務(wù)器嗎?答案是否定的,服務(wù)提供商會(huì)給準(zhǔn)入的接入方一個(gè)身份,用于接入時(shí)的憑據(jù):

client_id:客戶端標(biāo)識 client_secret:客戶端秘鑰

因此,準(zhǔn)確來說,授權(quán)服務(wù)器對兩種OAuth2.0中的兩個(gè)角色進(jìn)行認(rèn)證授權(quán),分別是資源擁有者、客戶端

4.2 Spring Cloud Security OAuth2

4.2.1 環(huán)境介紹

Spring-Security-OAuth2是對OAuth2的一種實(shí)現(xiàn),并且跟我們之前學(xué)習(xí)的Spring Security相輔相成,與Spring Cloud體系的集成也非常便利,接下來,我們需要對它進(jìn)行學(xué)習(xí),最終使用它來實(shí)現(xiàn)我們設(shè)計(jì)的分布式認(rèn)證授權(quán)解決方案。

OAuth2.0的服務(wù)提供方涵蓋兩個(gè)服務(wù),即授權(quán)服務(wù) (Authorization Server,也叫認(rèn)證服務(wù)) 和資源服務(wù) (Resource Server),使用 Spring Security OAuth2 的時(shí)候你可以選擇把它們在同一個(gè)應(yīng)用程序中實(shí)現(xiàn),也可以選擇建立使用同一個(gè)授權(quán)服務(wù)的多個(gè)資源服務(wù)。

**授權(quán)服務(wù) (Authorization Server)**應(yīng)包含對接入端以及登入用戶的合法性進(jìn)行驗(yàn)證并頒發(fā)token等功能,對令牌的請求端點(diǎn)由 Spring MVC 控制器進(jìn)行實(shí)現(xiàn),下面是配置一個(gè)認(rèn)證服務(wù)必須要實(shí)現(xiàn)的endpoints:

  • AuthorizationEndpoint 服務(wù)于認(rèn)證請求。默認(rèn) URL: /oauth/authorize 。
  • TokenEndpoint 服務(wù)于訪問令牌的請求。默認(rèn) URL: /oauth/token 。

資源服務(wù) (Resource Server),應(yīng)包含對資源的保護(hù)功能,對非法請求進(jìn)行攔截,對請求中token進(jìn)行解析鑒權(quán)等,下面的過濾器用于實(shí)現(xiàn) OAuth 2.0 資源服務(wù):

  • OAuth2AuthenticationProcessingFilter 用來對請求給出的身份令牌解析鑒權(quán)。

本教程分別創(chuàng)建uaa授權(quán)服務(wù)(也可叫認(rèn)證服務(wù))和order訂單資源服務(wù)。

認(rèn)證流程如下:

1、客戶端請求UAA授權(quán)服務(wù)進(jìn)行認(rèn)證。

2、認(rèn)證通過后由UAA頒發(fā)令牌。

3、客戶端攜帶令牌Token請求資源服務(wù)。

4 、資源服務(wù)校驗(yàn)令牌的合法性,合法即返回資源信息。

4.2.2 環(huán)境搭建

4.2.2.1 父工程

創(chuàng)建maven工程作為父工程,依賴如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven- 4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.lw.security</groupId><artifactId>distributed-security</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Greenwich.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.interceptor</groupId> <artifactId>javax.interceptor-api</artifactId><version>1.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-jwt</artifactId><version>1.0.10.RELEASE</version></dependency><dependency><groupId>org.springframework.security.oauth.boot</groupId><artifactId>spring-security-oauth2-autoconfigure</artifactId><version>2.1.3.RELEASE</version></dependency></dependencies></dependencyManagement><build><finalName>${project.name}</finalName><resources><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/*</include></includes></resource><resource> <directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources><plugins><!--<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><artifactId>maven-resources-plugin</artifactId><configuration><encoding>utf-8</encoding><useDefaultDelimiters>true</useDefaultDelimiters></configuration></plugin></plugins></build> </project>

4.2.2.2 創(chuàng)建UAA授權(quán)服務(wù)工程

1、創(chuàng)建distributed-security-uaa

創(chuàng)建distributed-security-uaa作為授權(quán)服務(wù)工程,依賴如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven- 4.0.0.xsd"><parent><artifactId>distributed-security</artifactId><groupId>com.lw.security</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>distributed-security-uaa</artifactId><dependencies><!--<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>com.netflix.hystrix</groupId><artifactId>hystrix-javanica</artifactId></dependency><dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId></dependency><dependency> <groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-security</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-jwt</artifactId></dependency><dependency><groupId>javax.interceptor</groupId><artifactId>javax.interceptor-api</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies> </project>

工程結(jié)構(gòu)如下:

2、啟動(dòng)類

本工程采用SpringBoot開發(fā),每個(gè)工程編寫一個(gè)啟動(dòng)類:

@SpringBootApplication @EnableDiscoveryClient @EnableHystrix @EnableFeignClients(basePackages = {"com.lw.security.distributed.uaa"}) public class UAAServer {public static void main(String[] args) {SpringApplication.run(UAAServer.class, args);} }

3、配置文件

在resources下創(chuàng)建application.properties

spring.application.name=uaa-service server.port=53020 spring.main.allow-bean-definition-overriding = true logging.level.root = debug logging.level.org.springframework.web = info spring.http.encoding.enabled = true spring.http.encoding.charset = UTF-8 spring.http.encoding.force = true server.tomcat.remote_ip_header = x-forwarded-for server.tomcat.protocol_header = x-forwarded-proto server.use-forward-headers = true server.servlet.context-path = /uaa spring.freemarker.enabled = true spring.freemarker.suffix = .html spring.freemarker.request-context-attribute = rc spring.freemarker.content-type = text/html spring.freemarker.charset = UTF-8 spring.mvc.throw-exception-if-no-handler-found = true spring.resources.add-mappings = false spring.datasource.url = jdbc:mysql://localhost:3306/user_db?useUnicode=true spring.datasource.username = root spring.datasource.password = mysql spring.datasource.driver-class-name = com.mysql.jdbc.Driver #eureka.client.serviceUrl.defaultZone = http://localhost:53000/eureka/ #eureka.instance.preferIpAddress = true #eureka.instance.instance-id = ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} management.endpoints.web.exposure.include = refresh,health,info,env feign.hystrix.enabled = true feign.compression.request.enabled = true feign.compression.request.mime-types[0] = text/xml feign.compression.request.mime-types[1] = application/xml feign.compression.request.mime-types[2] = application/json feign.compression.request.min-request-size = 2048 feign.compression.response.enabled = true

4.2.2.3 創(chuàng)建Order資源服務(wù)工程

本工程為Order訂單服務(wù)工程,訪問本工程的資源需要認(rèn)證通過。

本工程的目的主要是測試認(rèn)證授權(quán)的功能,所以不涉及訂單管理相關(guān)業(yè)務(wù)。

1、創(chuàng)建Order工程

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven- 4.0.0.xsd"><parent><artifactId>distributed-security</artifactId><groupId>com.lw.security</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>distributed-security-order</artifactId> <dependencies><!--<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-security</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId></dependency><dependency><groupId>javax.interceptor</groupId><artifactId>javax.interceptor-api</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies> </project>

2、工程結(jié)構(gòu)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-CvhF8cmR-1644219205107)(data:image/svg+xml;utf8, )]

3、配置文件

在resources中創(chuàng)建application.properties

spring.application.name=order-service server.port=53021 spring.main.allow-bean-definition-overriding = true logging.level.root = debug logging.level.org.springframework.web = info spring.http.encoding.enabled = true spring.http.encoding.charset = UTF-8 spring.http.encoding.force = true server.tomcat.remote_ip_header = x-forwarded-for server.tomcat.protocol_header = x-forwarded-proto server.use-forward-headers = true server.servlet.context-path = /order spring.freemarker.enabled = true spring.freemarker.suffix = .html spring.freemarker.request-context-attribute = rc spring.freemarker.content-type = text/html spring.freemarker.charset = UTF-8 spring.mvc.throw-exception-if-no-handler-found = true spring.resources.add-mappings = false #eureka.client.serviceUrl.defaultZone = http://localhost:53000/eureka/ #eureka.instance.preferIpAddress = true #eureka.instance.instance-id = ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} management.endpoints.web.exposure.include = refresh,health,info,env feign.hystrix.enabled = true feign.compression.request.enabled = true feign.compression.request.mime-types[0] = text/xml feign.compression.request.mime-types[1] = application/xml feign.compression.request.mime-types[2] = application/json feign.compression.request.min-request-size = 2048 feign.compression.response.enabled = true

4.2.2.授權(quán)服務(wù)器配置

4.2.2.1 EnableAuthorizationServer

可以用@EnableAuthorizationServer注解并繼承AuthorizationServerConfigurerAdapter來配置OAuth2.0 授權(quán)服務(wù)器。

在Config包下創(chuàng)建AuthorizationServer:

@Configuration @EnableAuthorizationServer public class AuthorizationServer extendsAuthorizationServerConfigurerAdapter {//略...}

AuthorizationServerConfigurerAdapter要求配置以下幾個(gè)類,這幾個(gè)類是由Spring創(chuàng)建的獨(dú)立的配置對象,它們會(huì)被Spring傳入AuthorizationServerConfigurer中進(jìn)行配置。

public class AuthorizationServerConfigurerAdapter implements AuthorizationServerConfigurer {public AuthorizationServerConfigurerAdapter() {}public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {}public void configure(ClientDetailsServiceConfigurer clients) throws Exception {}public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {} }
  • ClientDetailsServiceConfigurer :用來配置客戶端詳情服務(wù)(ClientDetailsService),客戶端詳情信息在這里進(jìn)行初始化,你能夠把客戶端詳情信息寫死在這里或者是通過數(shù)據(jù)庫來存儲(chǔ)調(diào)取詳情信息。

  • AuthorizationServerEndpointsConfigurer :用來配置令牌(token)的訪問端點(diǎn)和令牌服務(wù)(token services)。

  • AuthorizationServerSecurityConfigurer :用來配置令牌端點(diǎn)的安全約束.

4.2.2.1.配置客戶端詳細(xì)信息

ClientDetailsServiceConfigurer 能夠使用內(nèi)存或者JDBC來實(shí)現(xiàn)客戶端詳情服務(wù)(ClientDetailsService),ClientDetailsService負(fù)責(zé)查找ClientDetails,而ClientDetails有幾個(gè)重要的屬性如下列表:

  • clientId :(必須的)用來標(biāo)識客戶的Id。
  • secret :(需要值得信任的客戶端)客戶端安全碼,如果有的話。
  • scope :用來限制客戶端的訪問范圍,如果為空(默認(rèn))的話,那么客戶端擁有全部的訪問范圍。
  • authorizedGrantTypes :此客戶端可以使用的授權(quán)類型,默認(rèn)為空。
  • authorities :此客戶端可以使用的權(quán)限(基于Spring Security authorities)。

客戶端詳情(Client Details)能夠在應(yīng)用程序運(yùn)行的時(shí)候進(jìn)行更新,可以通過訪問底層的存儲(chǔ)服務(wù)(例如將客戶端詳情存儲(chǔ)在一個(gè)關(guān)系數(shù)據(jù)庫的表中,就可以使用 JdbcClientDetailsService)或者通過自己實(shí)現(xiàn)ClientRegistrationService接口(同時(shí)你也可以實(shí)現(xiàn) ClientDetailsService 接口)來進(jìn)行管理。

我們暫時(shí)使用內(nèi)存方式存儲(chǔ)客戶端詳情信息,配置如下:

@Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { // clients.withClientDetails(clientDetailsService); clients.inMemory()// 使用in‐memory存儲(chǔ).withClient("c1")// client_id.secret(new BCryptPasswordEncoder().encode("secret")).resourceIds("res1").authorizedGrantTypes("authorization_code","password","client_credentials","implicit","refresh_token")// 該client允許的授權(quán)類型authorization_code,password,refresh_token,implicit,client_credentials.scopes("all")// 允許的授權(quán)范圍.autoApprove(false)//加上驗(yàn)證回調(diào)地址.redirectUris("http://www.baidu.com"); }

4.2.2.2.管理令牌

AuthorizationServerTokenServices 接口定義了一些操作使得你可以對令牌進(jìn)行一些必要的管理,令牌可以被用來加載身份信息,里面包含了這個(gè)令牌的相關(guān)權(quán)限。

自己可以創(chuàng)建 AuthorizationServerTokenServices 這個(gè)接口的實(shí)現(xiàn),則需要繼承 DefaultTokenServices 這個(gè)類,里面包含了一些有用實(shí)現(xiàn),你可以使用它來修改令牌的格式和令牌的存儲(chǔ)。默認(rèn)的,當(dāng)它嘗試創(chuàng)建一個(gè)令牌的時(shí)候,是使用隨機(jī)值來進(jìn)行填充的,除了持久化令牌是委托一個(gè) TokenStore 接口來實(shí)現(xiàn)以外,這個(gè)類幾乎幫你做了所有的事情。并且 TokenStore 這個(gè)接口有一個(gè)默認(rèn)的實(shí)現(xiàn),它就是 InMemoryTokenStore ,如其命名,所有的令牌是被保存在了內(nèi)存中。除了使用這個(gè)類以外,你還可以使用一些其他的預(yù)定義實(shí)現(xiàn),下面有幾個(gè)版本,它們都實(shí)現(xiàn)了TokenStore接口:

  • InMemoryTokenStore :這個(gè)版本的實(shí)現(xiàn)是被默認(rèn)采用的,它可以完美的工作在單服務(wù)器上(即訪問并發(fā)量壓力不大的情況下,并且它在失敗的時(shí)候不會(huì)進(jìn)行備份),大多數(shù)的項(xiàng)目都可以使用這個(gè)版本的實(shí)現(xiàn)來進(jìn)行嘗試,你可以在開發(fā)的時(shí)候使用它來進(jìn)行管理,因?yàn)椴粫?huì)被保存到磁盤中,所以更易于調(diào)試。
  • JdbcTokenStore :這是一個(gè)基于JDBC的實(shí)現(xiàn)版本,令牌會(huì)被保存進(jìn)關(guān)系型數(shù)據(jù)庫。使用這個(gè)版本的實(shí)現(xiàn)時(shí),你可以在不同的服務(wù)器之間共享令牌信息,使用這個(gè)版本的時(shí)候請注意把"spring-jdbc"這個(gè)依賴加入到你的classpath當(dāng)中。
  • JwtTokenStore :這個(gè)版本的全稱是 JSON Web Token(JWT),它可以把令牌相關(guān)的數(shù)據(jù)進(jìn)行編碼(因此對于后端服務(wù)來說,它不需要進(jìn)行存儲(chǔ),這將是一個(gè)重大優(yōu)勢),但是它有一個(gè)缺點(diǎn),那就是撤銷一個(gè)已經(jīng)授權(quán)令牌將會(huì)非常困難,所以它通常用來處理一個(gè)生命周期較短的令牌以及撤銷刷新令牌(refresh_token)。另外一個(gè)缺點(diǎn)就是這個(gè)令牌占用的空間會(huì)比較大,如果你加入了比較多用戶憑證信息。JwtTokenStore 不會(huì)保存任何數(shù)據(jù),但是它在轉(zhuǎn)換令牌值以及授權(quán)信息方面與 DefaultTokenServices 所扮演的角色是一樣的。

1、定義TokenConfig

在config包下定義TokenConfig,我們暫時(shí)先使用InMemoryTokenStore,生成一個(gè)普通的令牌。

@Configuration public class TokenConfig {@Beanpublic TokenStore tokenStore() {return new InMemoryTokenStore();} }

2、定義AuthorizationServerTokenServices在AuthorizationServer中定義AuthorizationServerTokenServices

@Autowired private TokenStore tokenStore;@Autowiredprivate ClientDetailsService clientDetailsService;@Beanpublic AuthorizationServerTokenServices tokenService() {DefaultTokenServices service=new DefaultTokenServices();service.setClientDetailsService(clientDetailsService);service.setSupportRefreshToken(true);service.setTokenStore(tokenStore);service.setAccessTokenValiditySeconds(7200); // 令牌默認(rèn)有效期2小時(shí)service.setRefreshTokenValiditySeconds(259200); // 刷新令牌默認(rèn)有效期3天return service;}

4.2.2.3.令牌訪問端點(diǎn)配置

AuthorizationServerEndpointsConfigurer 這個(gè)對象的實(shí)例可以完成令牌服務(wù)以及令牌endpoint配置。

配置授權(quán)類型(Grant Types)

AuthorizationServerEndpointsConfigurer 通過設(shè)定以下屬性決定支持的授權(quán)類型(Grant Types):

  • authenticationManager :認(rèn)證管理器,當(dāng)你選擇了資源所有者密碼(password)授權(quán)類型的時(shí)候,請?jiān)O(shè)置這個(gè)屬性注入一個(gè) AuthenticationManager 對象。
  • userDetailsService :如果你設(shè)置了這個(gè)屬性的話,那說明你有一個(gè)自己的 UserDetailsService 接口的實(shí)現(xiàn),或者你可以把這個(gè)東西設(shè)置到全局域上面去(例如 GlobalAuthenticationManagerConfigurer 這個(gè)配置對象),當(dāng)你設(shè)置了這個(gè)之后,那么 “refresh_token” 即刷新令牌授權(quán)類型模式的流程中就會(huì)包含一個(gè)檢查,用來確保這個(gè)賬號是否仍然有效,假如說你禁用了這個(gè)賬戶的話。
  • authorizationCodeServices :這個(gè)屬性是用來設(shè)置授權(quán)碼服務(wù)的(即 AuthorizationCodeServices 的實(shí)例對象),主要用于 “authorization_code” 授權(quán)碼類型模式。
  • implicitGrantService :這個(gè)屬性用于設(shè)置隱式授權(quán)模式,用來管理隱式授權(quán)模式的狀態(tài)。
  • tokenGranter :當(dāng)你設(shè)置了這個(gè)東西(即 TokenGranter 接口實(shí)現(xiàn)),那么授權(quán)將會(huì)交由你來完全掌控,并且會(huì)忽略掉上面的這幾個(gè)屬性,這個(gè)屬性一般是用作拓展用途的,即標(biāo)準(zhǔn)的四種授權(quán)模式已經(jīng)滿足不了你的需求的時(shí)候,才會(huì)考慮使用這個(gè)。

配置授權(quán)端點(diǎn)的URL(Endpoint URLs):

AuthorizationServerEndpointsConfigurer 這個(gè)配置對象有一個(gè)叫做 pathMapping() 的方法用來配置端點(diǎn)URL鏈接,它有兩個(gè)參數(shù):

  • 第一個(gè)參數(shù): String 類型的,這個(gè)端點(diǎn)URL的默認(rèn)鏈接。
  • 第二個(gè)參數(shù): String 類型的,你要進(jìn)行替代的URL鏈接。

以上的參數(shù)都將以 “/” 字符為開始的字符串,框架的默認(rèn)URL鏈接如下列表,可以作為這個(gè) pathMapping() 方法的第一個(gè)參數(shù):

  • /oauth/authorize :授權(quán)端點(diǎn)。
  • /oauth/token :令牌端點(diǎn)。
  • /oauth/confirm_access :用戶確認(rèn)授權(quán)提交端點(diǎn)。
  • /oauth/error :授權(quán)服務(wù)錯(cuò)誤信息端點(diǎn)。
  • /oauth/check_token :用于資源服務(wù)訪問的令牌解析端點(diǎn)。
  • /oauth/token_key :提供公有密匙的端點(diǎn),如果你使用JWT令牌的話。

需要注意的是授權(quán)端點(diǎn)這個(gè)URL應(yīng)該被Spring Security保護(hù)起來只供授權(quán)用戶訪問.

在AuthorizationServer配置令牌訪問端點(diǎn)

@Autowired private AuthorizationCodeServices authorizationCodeServices;@Autowiredprivate AuthenticationManager authenticationManager;@Overridepublic void configure(AuthorizationServerEndpointsConfigurer endpoints) {endpoints.authenticationManager(authenticationManager).authorizationCodeServices(authorizationCodeServices).tokenServices(tokenService()).allowedTokenEndpointRequestMethods(HttpMethod.POST);}@Beanpublic AuthorizationCodeServices authorizationCodeServices() { //設(shè)置授權(quán)碼模式的授權(quán)碼如何存取,暫時(shí)采用內(nèi)存方式return new InMemoryAuthorizationCodeServices();}

因?yàn)榕渲昧钆圃L問端點(diǎn)需要認(rèn)證管理器,也要配置

  • dao層下的查數(shù)據(jù)庫的UserDao
  • @Repository public class UserDao {@AutowiredJdbcTemplate jdbcTemplate;//根據(jù)賬號查詢用戶信息public UserDto getUserByUsername(String username){String sql = "select id,username,password,fullname,mobile from t_user where username = ?";//連接數(shù)據(jù)庫查詢用戶List<UserDto> list = jdbcTemplate.query(sql, new Object[]{username}, new BeanPropertyRowMapper<>(UserDto.class));if(list !=null && list.size()==1){return list.get(0);}return null;}//根據(jù)用戶id查詢用戶權(quán)限public List<String> findPermissionsByUserId(String userId){String sql = "SELECT * FROM t_permission WHERE id IN(\n" +"\n" +"SELECT permission_id FROM t_role_permission WHERE role_id IN(\n" +" SELECT role_id FROM t_user_role WHERE user_id = ? \n" +")\n" +")\n";List<PermissionDto> list = jdbcTemplate.query(sql, new Object[]{userId}, new BeanPropertyRowMapper<>(PermissionDto.class));List<String> permissions = new ArrayList<>();list.forEach(c -> permissions.add(c.getCode()));return permissions;} }
  • model下的PermissionDto和UserDto實(shí)體類
  • @Data public class PermissionDto {private String id;private String code;private String description;private String url; } @Data public class UserDto {private String id;private String username;private String password;private String fullname;private String mobile; }
  • service 下的UserDetailsService
  • @Service public class SpringDataUserDetailsService implements UserDetailsService {@AutowiredUserDao userDao;//根據(jù) 賬號查詢用戶信息@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {//將來連接數(shù)據(jù)庫根據(jù)賬號查詢用戶信息UserDto userDto = userDao.getUserByUsername(username);if(userDto == null){//如果用戶查不到,返回null,由provider來拋出異常return null;}//根據(jù)用戶的id查詢用戶的權(quán)限List<String> permissions = userDao.findPermissionsByUserId(userDto.getId());//將permissions轉(zhuǎn)成數(shù)組String[] permissionArray = new String[permissions.size()];permissions.toArray(permissionArray);//將userDto轉(zhuǎn)成jsonString principal = JSON.toJSONString(userDto);UserDetails userDetails = User.withUsername(principal).password(userDto.getPassword()).authorities(permissionArray).build();return userDetails;} }

    4.2.2.4.令牌端點(diǎn)的安全約束

    **AuthorizationServerSecurityConfigurer :**用來配置令牌端點(diǎn)(Token Endpoint)的安全約束,在AuthorizationServer中配置如下.

    @Override public void configure(AuthorizationServerSecurityConfigurer security){security.tokenKeyAccess("permitAll()") //(1) .checkTokenAccess("permitAll()") //(2) .allowFormAuthenticationForClients() //(3) ; }

    (1)tokenkey這個(gè)endpoint當(dāng)使用JwtToken且使用非對稱加密時(shí),資源服務(wù)用于獲取公鑰而開放的,這里指這個(gè)endpoint完全公開。

    (2)checkToken這個(gè)endpoint完全公開

    (3) 允許表單認(rèn)證

    授權(quán)服務(wù)配置總結(jié):授權(quán)服務(wù)配置分成三大塊,可以關(guān)聯(lián)記憶。

    既然要完成認(rèn)證,它首先得知道客戶端信息從哪兒讀取,因此要進(jìn)行客戶端詳情配置。

    既然要頒發(fā)token,那必須得定義token的相關(guān)endpoint,以及token如何存取,以及客戶端支持哪些類型的token。

    既然暴露除了一些endpoint,那對這些endpoint可以定義一些安全上的約束等。

    4.2.2.5 web安全配置

    將Spring-Boot工程中的WebSecurityConfig拷貝到UAA工程中。

    @Configuration @EnableGlobalMethodSecurity(securedEnabled = true,prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}@Override@Beanpublic AuthenticationManager authenticationManagerBean() throws Exception {return super.authenticationManagerBean();}//安全攔截機(jī)制(最重要)@Overrideprotected void configure(HttpSecurity http) throws Exception {http.csrf().disable().authorizeRequests().antMatchers("/r/r1").hasAnyAuthority("p1").antMatchers("/login*").permitAll().anyRequest().authenticated().and() .formLogin();} }

    4.2.3.授權(quán)碼模式

    4.2.3.1 授權(quán)碼模式介紹

    下圖是授權(quán)碼模式交互圖:

    (1)資源擁有者打開客戶端,客戶端要求資源擁有者給予授權(quán),它將瀏覽器被重定向到授權(quán)服務(wù)器,重定向時(shí)會(huì)附加客戶端的身份信息。如:(瀏覽器輸入以下)

    http://localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=code&scope=all&redirect_uri=http://www.baidu.com

    參數(shù)列表如下:

    • client_id :客戶端準(zhǔn)入標(biāo)識。
    • response_type :授權(quán)碼模式固定為code。
    • scope :客戶端權(quán)限。
    • redirect_uri :跳轉(zhuǎn)uri,當(dāng)授權(quán)碼申請成功后會(huì)跳轉(zhuǎn)到此地址,并在后邊帶上code參數(shù)(授權(quán)碼)。

    (2)瀏覽器出現(xiàn)向授權(quán)服務(wù)器授權(quán)頁面,之后將用戶同意授權(quán)。

    (3)授權(quán)服務(wù)器將授權(quán)碼(AuthorizationCode)轉(zhuǎn)經(jīng)瀏覽器發(fā)送給client(通過redirect_uri)。

    (4)客戶端拿著授權(quán)碼向授權(quán)服務(wù)器索要訪問access_token,請求如下:

    http://localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=authorization_code&code=5PgfcD&redirect_uri=http://www.baidu.com

    參數(shù)列表如下

    • client_id :客戶端準(zhǔn)入標(biāo)識。
    • client_secret :客戶端秘鑰。
    • grant_type :授權(quán)類型,填寫authorization_code,表示授權(quán)碼模式
    • code :授權(quán)碼,就是剛剛獲取的授權(quán)碼,注意:授權(quán)碼只使用一次就無效了,需要重新申請。
    • redirect_uri :申請授權(quán)碼時(shí)的跳轉(zhuǎn)url,一定和申請授權(quán)碼時(shí)用的redirect_uri一致。

    (5)授權(quán)服務(wù)器返回令牌(access_token)

    這種模式是四種模式中最安全的一種模式。一般用于client是Web服務(wù)器端應(yīng)用或第三方的原生App調(diào)用資源服務(wù)的時(shí)候。因?yàn)樵谶@種模式中access_token不會(huì)經(jīng)過瀏覽器或移動(dòng)端的App,而是直接從服務(wù)端去交換,這樣就最大限度的減小了令牌泄漏的風(fēng)險(xiǎn)。

    4.2.3.2 測試

    瀏覽器訪問認(rèn)證頁面:

    http://localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=code&scope=all&redirect_uri=http://www.baidu.com

    然后輸入模擬的賬號和密碼點(diǎn)登陸之后進(jìn)入授權(quán)頁面:

    確認(rèn)授權(quán)后,瀏覽器會(huì)重定向到指定路徑(oauth_client_details表中的web_server_redirect_uri)并附加驗(yàn)證碼?code=sc0N9W(每次不一樣),最后使用該驗(yàn)證碼獲取token。

    POST http://localhost:53020/uaa/oauth/token

    4.2.4. 簡化模式

    4.2.4.1 簡化模式介紹

    下圖是簡化模式交互圖:

    (1)資源擁有者打開客戶端,客戶端要求資源擁有者給予授權(quán),它將瀏覽器被重定向到授權(quán)服務(wù)器,重定向時(shí)會(huì)附加客戶端的身份信息。如:

    http://localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=token&scope=all&redirect_uri=http://www.baidu.com

    參數(shù)描述同授權(quán)碼模式 ,注意response_type=token,說明是簡化模式。

    (2)瀏覽器出現(xiàn)向授權(quán)服務(wù)器授權(quán)頁面,之后將用戶同意授權(quán)。

    (3)授權(quán)服務(wù)器將授權(quán)碼將令牌(access_token)以Hash的形式存放在重定向uri的fargment中發(fā)送給瀏覽器。

    注:fragment 主要是用來標(biāo)識 URI 所標(biāo)識資源里的某個(gè)資源,在 URI 的末尾通過 (#)作為 fragment 的開頭,其中 # 不屬于 fragment 的值。如https://domain/index#L18這個(gè) URI 中 L18 就是 fragment 的值。大家只需要知道js通過響應(yīng)瀏覽器地址欄變化的方式能獲取到fragment 就行了。

    一般來說,簡化模式用于沒有服務(wù)器端的第三方單頁面應(yīng)用,因?yàn)闆]有服務(wù)器端就無法接收授權(quán)碼。

    6.2.4.2 測試

    瀏覽器訪問認(rèn)證頁面:

    http://localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=token&scope=all&redirect_uri=http://www.baidu.com

    然后輸入模擬的賬號和密碼點(diǎn)登陸之后進(jìn)入授權(quán)頁面:

    確認(rèn)授權(quán)后,瀏覽器會(huì)重定向到指定路徑(oauth_client_details表中的web_server_redirect_uri)并以Hash的形式存放在重定向uri的fargment中,如:

    http://www.baidu.com/receive#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbn...

    4.2.5.密碼模式

    4.2.5.1 授權(quán)碼模式介紹

    下圖是密碼模式交互圖:

    (1)資源擁有者將用戶名、密碼發(fā)送給客戶端

    (2)客戶端拿著資源擁有者的用戶名、密碼向授權(quán)服務(wù)器請求令牌(access_token),請求如下:

    http://localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=password&username=shangsan&password=123

    參數(shù)列表如下:

    • client_id :客戶端準(zhǔn)入標(biāo)識。
    • client_secret :客戶端秘鑰。
    • grant_type :授權(quán)類型,填寫password表示密碼模式
    • username :資源擁有者用戶名。
    • password :資源擁有者密碼。

    (3)授權(quán)服務(wù)器將令牌(access_token)發(fā)送給client

    這種模式十分簡單,但是卻意味著直接將用戶敏感信息泄漏給了client,因此這就說明這種模式只能用于client是我們自己開發(fā)的情況下。因此密碼模式一般用于我們自己開發(fā)的,第一方原生App或第一方單頁面應(yīng)用。

    4.2.5.2 測試

    POST http://localhost:53020/uaa/oauth/token

    請求參數(shù):


    返回結(jié)果:

    4.2.6.客戶端模式

    4.2.6.1 客戶端模式介紹

    (1)客戶端向授權(quán)服務(wù)器發(fā)送自己的身份信息,并請求令牌(access_token)

    (2)確認(rèn)客戶端身份無誤后,將令牌(access_token)發(fā)送給client,請求如下:

    http://localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=client_credentials

    參數(shù)列表如下:

    • client_id :客戶端準(zhǔn)入標(biāo)識。
    • client_secret :客戶端秘鑰。
    • grant_type :授權(quán)類型,填寫client_credentials表示客戶端模式

    這種模式是最方便但最不安全的模式。因此這就要求我們對client完全的信任,而client本身也是安全的。因此這種模式一般用來提供給我們完全信任的服務(wù)器端服務(wù)。比如,合作方系統(tǒng)對接,拉取一組用戶信息。

    6.2.6.2 客戶端模式介紹

    POST http://localhost:53020/uaa/oauth/token

    請求參數(shù):


    返回結(jié)果:

    4.2.7.資源服務(wù)測試

    4.2.7.1 資源服務(wù)器配置

    @EnableResourceServer 注解到一個(gè) @Configuration 配置類上,并且必須使用 ResourceServerConfigurer 這個(gè)配置對象來進(jìn)行配置(可以選擇繼承自 ResourceServerConfigurerAdapter 然后覆寫其中的方法,參數(shù)就是這個(gè)

    對象的實(shí)例),下面是一些可以配置的屬性:

    ResourceServerSecurityConfigurer中主要包括:

    • tokenServices :ResourceServerTokenServices 類的實(shí)例,用來實(shí)現(xiàn)令牌服務(wù)。
    • tokenStore :TokenStore類的實(shí)例,指定令牌如何訪問,與tokenServices配置可選
    • resourceId :這個(gè)資源服務(wù)的ID,這個(gè)屬性是可選的,但是推薦設(shè)置并在授權(quán)服務(wù)中進(jìn)行驗(yàn)證。
    • 其他的拓展屬性例如 tokenExtractor 令牌提取器用來提取請求中的令牌。

    HttpSecurity配置這個(gè)與Spring Security類似:

    • 請求匹配器,用來設(shè)置需要進(jìn)行保護(hù)的資源路徑,默認(rèn)的情況下是保護(hù)資源服務(wù)的全部路徑。
    • 通過 http.authorizeRequests()來設(shè)置受保護(hù)資源的訪問規(guī)則
    • 其他的自定義權(quán)限保護(hù)規(guī)則通過 HttpSecurity 來進(jìn)行配置。

    @EnableResourceServer 注解自動(dòng)增加了一個(gè)類型為 OAuth2AuthenticationProcessingFilter 的過濾器鏈

    編寫ResouceServerConfig:

    @Configuration @EnableResourceServer @EnableGlobalMethodSecurity(prePostEnabled = true) public class ResouceServerConfig extends ResourceServerConfigurerAdapter {public static final String RESOURCE_ID = "res1";@Overridepublic void configure(ResourceServerSecurityConfigurer resources) {resources.resourceId(RESOURCE_ID).tokenServices(tokenService()).stateless(true);}@Overridepublic void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/**").access("#oauth2.hasScope('all')").and().csrf().disable().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);} }

    4.2.7.2 驗(yàn)證token

    ResourceServerTokenServices 是組成授權(quán)服務(wù)的另一半,如果你的授權(quán)服務(wù)和資源服務(wù)在同一個(gè)應(yīng)用程序上的話,你可以使用 DefaultTokenServices ,這樣的話,你就不用考慮關(guān)于實(shí)現(xiàn)所有必要的接口的一致性問題。如果你的資源服務(wù)器是分離開的,那么你就必須要確保能夠有匹配授權(quán)服務(wù)提供的 ResourceServerTokenServices,它知道如何對令牌進(jìn)行解碼。

    令牌解析方法: 使用 DefaultTokenServices 在資源服務(wù)器本地配置令牌存儲(chǔ)、解碼、解析方式 使用RemoteTokenServices 資源服務(wù)器通過 HTTP 請求來解碼令牌,每次都請求授權(quán)服務(wù)器端點(diǎn) /oauth/check_token

    使用授權(quán)服務(wù)的 /oauth/check_token 端點(diǎn)你需要在授權(quán)服務(wù)將這個(gè)端點(diǎn)暴露出去,以便資源服務(wù)可以進(jìn)行訪問,這在咱們授權(quán)服務(wù)配置中已經(jīng)提到了,下面是一個(gè)例子,在這個(gè)例子中,我們在授權(quán)服務(wù)中配置了/oauth/check_token 和 /oauth/token_key 這兩個(gè)端點(diǎn):

    @Override public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {security .tokenKeyAccess("permitAll()")// /oauth/token_key 安全配置 .checkTokenAccess("permitAll()") // /oauth/check_token 安全配置 }

    在資源 服務(wù)配置RemoteTokenServices ,在ResouceServerConfig中配置:

    // 資源服務(wù)令牌解析服務(wù) @Bean public ResourceServerTokenServices tokenService() {//使用遠(yuǎn)程服務(wù)請求授權(quán)服務(wù)器校驗(yàn)token,必須指定校驗(yàn)token 的url、client_id,client_secretRemoteTokenServices service=new RemoteTokenServices();service.setCheckTokenEndpointUrl("http://localhost:53020/uaa/oauth/check_token");service.setClientId("c1");service.setClientSecret("secret");return service; }

    4.2.7.3 編寫資源

    在controller包下編寫OrderController,此controller表示訂單資源的訪問類:

    @RestController public class OrderController {@GetMapping(value = "/r1")@PreAuthorize("hasAnyAuthority('p1')")public String r1(){return "訪問資源1";} }

    4.2.7.4 添加安全訪問控制

    @Configuration @EnableGlobalMethodSecurity(securedEnabled = true,prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter {//安全攔截機(jī)制(最重要)@Overrideprotected void configure(HttpSecurity http) throws Exception {http.csrf().disable().authorizeRequests() // .antMatchers("/r/r1").hasAuthority("p2") // .antMatchers("/r/r2").hasAuthority("p2").antMatchers("/r/**").authenticated()//所有/r/**的請求必須認(rèn)證通過.anyRequest().permitAll()//除了/r/**,其它的請求可以訪問;} }

    配置引導(dǎo)類OrderServer

    @SpringBootApplication public class OrderServer {public static void main(String[] args) {SpringApplication.run(OrderServer.class, args);} }

    4.2.7.5 測試

    1、申請令牌

    這里我們使用密碼方式

    2、請求資源

    按照oauth2.0協(xié)議要求,請求資源需要攜帶token,如下:

    token的參數(shù)名稱為:Authorization,值為:Bearer token值

    如果token錯(cuò)誤,則授權(quán)失敗,如下:

    { "error": "invalid_token","error_description": "f3360db3‐2d85‐41c9‐ac5e‐b9adba48e26c" }

    總結(jié)

    以上是生活随笔為你收集整理的Spring Security OAuth2分布式系统认证解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    久久www免费人成人片 | 亚洲中文字幕无码中文字在线 | 亚洲熟女一区二区三区 | 无码免费一区二区三区 | 国产精品美女久久久网av | 国产真人无遮挡作爱免费视频 | 免费无码午夜福利片69 | 性啪啪chinese东北女人 | 精品无码国产一区二区三区av | 任你躁国产自任一区二区三区 | 九月婷婷人人澡人人添人人爽 | 丰满人妻翻云覆雨呻吟视频 | 国产亚洲日韩欧美另类第八页 | 精品无人区无码乱码毛片国产 | 亚洲精品一区国产 | 捆绑白丝粉色jk震动捧喷白浆 | 老子影院午夜伦不卡 | 国产精品无码久久av | 亚洲国产精品久久久久久 | 内射后入在线观看一区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 日本爽爽爽爽爽爽在线观看免 | 永久黄网站色视频免费直播 | 内射老妇bbwx0c0ck | 成人欧美一区二区三区黑人免费 | 奇米影视7777久久精品人人爽 | 少妇被粗大的猛进出69影院 | 国产精品办公室沙发 | 国产av无码专区亚洲a∨毛片 | 国产无遮挡又黄又爽免费视频 | 亚洲精品中文字幕 | 暴力强奷在线播放无码 | 激情内射日本一区二区三区 | 国产精品美女久久久 | 丰满人妻精品国产99aⅴ | 欧美zoozzooz性欧美 | 精品厕所偷拍各类美女tp嘘嘘 | 人妻无码久久精品人妻 | 一个人看的视频www在线 | 亚洲精品国偷拍自产在线麻豆 | 亚洲国产高清在线观看视频 | 红桃av一区二区三区在线无码av | 18禁止看的免费污网站 | 特级做a爰片毛片免费69 | 亚洲一区二区三区国产精华液 | 久久99精品久久久久久动态图 | 老熟女重囗味hdxx69 | 日本丰满熟妇videos | 国产亚洲精品精品国产亚洲综合 | 精品久久综合1区2区3区激情 | 日韩av无码一区二区三区 | 高潮毛片无遮挡高清免费视频 | 狠狠亚洲超碰狼人久久 | 男女猛烈xx00免费视频试看 | 国产又粗又硬又大爽黄老大爷视 | 日韩精品成人一区二区三区 | 2019nv天堂香蕉在线观看 | 亚洲中文字幕在线观看 | 国产成人一区二区三区别 | 精品国产av色一区二区深夜久久 | 少妇一晚三次一区二区三区 | 亚洲色偷偷偷综合网 | 久久久成人毛片无码 | 无码精品人妻一区二区三区av | 国产精品igao视频网 | 亚洲一区二区三区播放 | 岛国片人妻三上悠亚 | 妺妺窝人体色www在线小说 | 国产无套粉嫩白浆在线 | 国产乱人伦偷精品视频 | 熟妇激情内射com | 青青久在线视频免费观看 | 人人妻人人澡人人爽欧美一区九九 | 中文无码精品a∨在线观看不卡 | 久久亚洲精品中文字幕无男同 | 中文字幕av日韩精品一区二区 | 天下第一社区视频www日本 | 亚洲欧美精品aaaaaa片 | 激情内射亚州一区二区三区爱妻 | 熟女少妇在线视频播放 | 国产精品无套呻吟在线 | 国产av一区二区精品久久凹凸 | 久久久久亚洲精品男人的天堂 | 人妻aⅴ无码一区二区三区 | 国产人妻人伦精品1国产丝袜 | 漂亮人妻洗澡被公强 日日躁 | 精品人妻人人做人人爽 | 国产免费观看黄av片 | 日日碰狠狠躁久久躁蜜桃 | √天堂中文官网8在线 | 亚洲熟妇色xxxxx欧美老妇y | 又黄又爽又色的视频 | 少妇邻居内射在线 | 亚洲天堂2017无码中文 | 无码精品人妻一区二区三区av | 人人妻人人澡人人爽人人精品浪潮 | 东京无码熟妇人妻av在线网址 | 午夜理论片yy44880影院 | 露脸叫床粗话东北少妇 | 99视频精品全部免费免费观看 | 亚洲精品国产第一综合99久久 | 无套内谢老熟女 | 欧美自拍另类欧美综合图片区 | 国产莉萝无码av在线播放 | 亚洲欧美日韩国产精品一区二区 | 亚无码乱人伦一区二区 | 亚洲综合另类小说色区 | 国产又爽又黄又刺激的视频 | 伊人久久大香线蕉亚洲 | 亚无码乱人伦一区二区 | 欧美成人家庭影院 | 亚洲国产av精品一区二区蜜芽 | 中文字幕+乱码+中文字幕一区 | 国产成人精品必看 | 岛国片人妻三上悠亚 | 亚洲一区二区三区在线观看网站 | 久久精品国产精品国产精品污 | 国产性生交xxxxx无码 | 久久国产36精品色熟妇 | 夜夜躁日日躁狠狠久久av | 激情爆乳一区二区三区 | 精品久久久久久人妻无码中文字幕 | 老熟女重囗味hdxx69 | 无码人妻黑人中文字幕 | 波多野结衣一区二区三区av免费 | 免费人成网站视频在线观看 | 久久久中文久久久无码 | √天堂资源地址中文在线 | 精品国偷自产在线视频 | 国产精品无码永久免费888 | 久久久久久av无码免费看大片 | aⅴ亚洲 日韩 色 图网站 播放 | 欧美猛少妇色xxxxx | 99re在线播放 | 东北女人啪啪对白 | 亚洲成熟女人毛毛耸耸多 | 中文字幕人妻无码一区二区三区 | 欧美国产日韩久久mv | 精品国精品国产自在久国产87 | 色综合天天综合狠狠爱 | 久久久久亚洲精品男人的天堂 | 久久亚洲日韩精品一区二区三区 | 国产精品美女久久久久av爽李琼 | 丰满护士巨好爽好大乳 | 一本色道久久综合狠狠躁 | 国产在线一区二区三区四区五区 | 99视频精品全部免费免费观看 | 亚洲综合无码一区二区三区 | 国产亚洲视频中文字幕97精品 | 精品人妻人人做人人爽夜夜爽 | 日日躁夜夜躁狠狠躁 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲成a人片在线观看无码 | 蜜臀av无码人妻精品 | 亚洲精品久久久久久一区二区 | 亚洲欧美国产精品久久 | 给我免费的视频在线观看 | 色综合视频一区二区三区 | 欧美精品无码一区二区三区 | 蜜桃臀无码内射一区二区三区 | 欧美性生交活xxxxxdddd | 色情久久久av熟女人妻网站 | 久久亚洲国产成人精品性色 | 1000部夫妻午夜免费 | 日本一卡2卡3卡四卡精品网站 | 国产av人人夜夜澡人人爽麻豆 | 少妇一晚三次一区二区三区 | 亚洲中文字幕在线无码一区二区 | 图片区 小说区 区 亚洲五月 | 日产精品高潮呻吟av久久 | 亚洲国产精品美女久久久久 | 久久国语露脸国产精品电影 | 一本色道久久综合狠狠躁 | 国产麻豆精品精东影业av网站 | 国产成人av免费观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 久热国产vs视频在线观看 | 亚洲a无码综合a国产av中文 | 亲嘴扒胸摸屁股激烈网站 | 国产成人综合美国十次 | 成人精品一区二区三区中文字幕 | 粗大的内捧猛烈进出视频 | 成年美女黄网站色大免费视频 | 最新版天堂资源中文官网 | 人人妻人人澡人人爽欧美一区九九 | 日韩av激情在线观看 | 一区二区传媒有限公司 | 天天做天天爱天天爽综合网 | 国产网红无码精品视频 | 亚洲a无码综合a国产av中文 | 中文字幕无码乱人伦 | 欧美日韩久久久精品a片 | 亚洲国产成人a精品不卡在线 | 性色av无码免费一区二区三区 | 国产午夜亚洲精品不卡 | 黄网在线观看免费网站 | 日韩人妻少妇一区二区三区 | 夜夜躁日日躁狠狠久久av | 高清国产亚洲精品自在久久 | ass日本丰满熟妇pics | 国产性生交xxxxx无码 | 女人高潮内射99精品 | 国产成人无码一二三区视频 | 青青青爽视频在线观看 | 久久综合激激的五月天 | 人妻熟女一区 | 精品国产aⅴ无码一区二区 | 久久视频在线观看精品 | 在线观看免费人成视频 | 午夜福利试看120秒体验区 | 亚洲欧美日韩综合久久久 | 狠狠cao日日穞夜夜穞av | 欧美老妇交乱视频在线观看 | 乌克兰少妇xxxx做受 | 久久人人爽人人爽人人片av高清 | 少女韩国电视剧在线观看完整 | 特级做a爰片毛片免费69 | 丁香花在线影院观看在线播放 | 亚洲娇小与黑人巨大交 | 午夜福利试看120秒体验区 | 黑人巨大精品欧美黑寡妇 | 欧美日本日韩 | 国产精品久久福利网站 | 国产av无码专区亚洲awww | aⅴ亚洲 日韩 色 图网站 播放 | 亚洲精品国产精品乱码不卡 | 国产成人无码区免费内射一片色欲 | 国产精品福利视频导航 | 久久久久av无码免费网 | 国产av无码专区亚洲a∨毛片 | 亚洲自偷精品视频自拍 | 国产特级毛片aaaaaa高潮流水 | 国产极品视觉盛宴 | 亚洲国产精品久久人人爱 | 丝袜美腿亚洲一区二区 | 亚洲小说春色综合另类 | 无码人妻丰满熟妇区五十路百度 | 免费国产黄网站在线观看 | 亚洲伊人久久精品影院 | 无码人妻出轨黑人中文字幕 | 蜜桃视频韩日免费播放 | 亚洲成av人影院在线观看 | 日日干夜夜干 | 亚洲自偷自偷在线制服 | 呦交小u女精品视频 | 成人无码精品1区2区3区免费看 | 国产午夜无码精品免费看 | 色欲人妻aaaaaaa无码 | 亚洲伊人久久精品影院 | 亚洲七七久久桃花影院 | 日本xxxx色视频在线观看免费 | 国产精品久久久久久久影院 | 一本色道久久综合亚洲精品不卡 | 日欧一片内射va在线影院 | 东京一本一道一二三区 | 999久久久国产精品消防器材 | 日韩精品无码一区二区中文字幕 | 国产精品免费大片 | 丰满少妇女裸体bbw | 午夜丰满少妇性开放视频 | 国产黑色丝袜在线播放 | 一本久久a久久精品vr综合 | 成人欧美一区二区三区 | 色婷婷久久一区二区三区麻豆 | 久久99精品国产.久久久久 | 久久国产劲爆∧v内射 | 国产一区二区三区精品视频 | 久久综合香蕉国产蜜臀av | 久久国产精品_国产精品 | 精品国产一区av天美传媒 | 又色又爽又黄的美女裸体网站 | 色偷偷人人澡人人爽人人模 | 欧美一区二区三区视频在线观看 | 夜先锋av资源网站 | 国产精品鲁鲁鲁 | 无套内射视频囯产 | 免费人成网站视频在线观看 | 精品久久久中文字幕人妻 | 97久久精品无码一区二区 | 天海翼激烈高潮到腰振不止 | 精品欧洲av无码一区二区三区 | 国产综合久久久久鬼色 | 天堂а√在线地址中文在线 | 中文字幕无码免费久久99 | 国产麻豆精品精东影业av网站 | 午夜精品一区二区三区的区别 | 男人扒开女人内裤强吻桶进去 | 色情久久久av熟女人妻网站 | 欧美日韩一区二区三区自拍 | 一个人看的www免费视频在线观看 | 国内精品久久毛片一区二区 | 色婷婷综合中文久久一本 | 亚洲精品午夜国产va久久成人 | 无码人妻精品一区二区三区下载 | 国产成人精品一区二区在线小狼 | 夜夜躁日日躁狠狠久久av | 日本www一道久久久免费榴莲 | 欧美亚洲日韩国产人成在线播放 | 亚洲中文字幕无码一久久区 | 无码福利日韩神码福利片 | 色综合视频一区二区三区 | 精品欧美一区二区三区久久久 | 亚洲综合精品香蕉久久网 | 久9re热视频这里只有精品 | 免费观看激色视频网站 | av在线亚洲欧洲日产一区二区 | 东京一本一道一二三区 | 免费人成网站视频在线观看 | 一个人免费观看的www视频 | 久久久久人妻一区精品色欧美 | 亚洲乱亚洲乱妇50p | 久久久久人妻一区精品色欧美 | 奇米影视888欧美在线观看 | 免费观看激色视频网站 | 国产精品爱久久久久久久 | 国产一区二区三区精品视频 | 免费观看黄网站 | 国产麻豆精品一区二区三区v视界 | 精品无人国产偷自产在线 | 国产福利视频一区二区 | 日韩av激情在线观看 | 久久人人爽人人爽人人片av高清 | 国产在线无码精品电影网 | 无遮挡国产高潮视频免费观看 | 精品国精品国产自在久国产87 | 在线天堂新版最新版在线8 | 色诱久久久久综合网ywww | 久久综合九色综合欧美狠狠 | 人人妻人人澡人人爽精品欧美 | 日欧一片内射va在线影院 | 精品无码国产自产拍在线观看蜜 | 亚洲国产av精品一区二区蜜芽 | 99久久精品无码一区二区毛片 | 性色欲情网站iwww九文堂 | 中文字幕日产无线码一区 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美丰满老熟妇xxxxx性 | 精品国产成人一区二区三区 | 国产成人午夜福利在线播放 | 亚洲综合另类小说色区 | 性色欲情网站iwww九文堂 | 18禁止看的免费污网站 | 国产97色在线 | 免 | 国内精品人妻无码久久久影院蜜桃 | 日韩av无码一区二区三区不卡 | 久久无码中文字幕免费影院蜜桃 | 国产后入清纯学生妹 | 理论片87福利理论电影 | 亚洲日韩乱码中文无码蜜桃臀网站 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲国产精品久久久天堂 | 国产农村乱对白刺激视频 | 麻豆国产人妻欲求不满 | 国产精品国产自线拍免费软件 | 国产香蕉尹人综合在线观看 | 丁香花在线影院观看在线播放 | 久久99久久99精品中文字幕 | 中文字幕 亚洲精品 第1页 | 国产另类ts人妖一区二区 | 久久精品国产亚洲精品 | 亚洲精品成a人在线观看 | 红桃av一区二区三区在线无码av | 99久久精品日本一区二区免费 | 丰满岳乱妇在线观看中字无码 | 夜夜影院未满十八勿进 | 日本精品人妻无码免费大全 | 亚洲一区二区三区含羞草 | 国产偷自视频区视频 | 少妇一晚三次一区二区三区 | 日本高清一区免费中文视频 | 激情内射日本一区二区三区 | 成人免费无码大片a毛片 | 国产免费久久久久久无码 | 久久精品国产99精品亚洲 | 熟妇人妻中文av无码 | 亚洲国产精品久久久久久 | 亚洲精品一区国产 | 久久国产精品偷任你爽任你 | 激情亚洲一区国产精品 | 亚洲精品一区二区三区婷婷月 | 免费人成在线观看网站 | 亚洲熟妇自偷自拍另类 | 狠狠色噜噜狠狠狠狠7777米奇 | 一区二区三区高清视频一 | 99国产欧美久久久精品 | 亚洲精品一区国产 | 免费无码av一区二区 | 永久黄网站色视频免费直播 | 亚洲国产一区二区三区在线观看 | 一本加勒比波多野结衣 | 夜精品a片一区二区三区无码白浆 | 欧美日韩视频无码一区二区三 | 97色伦图片97综合影院 | 精品一区二区三区波多野结衣 | 国产精品美女久久久网av | 国内老熟妇对白xxxxhd | 国产午夜福利亚洲第一 | 欧美丰满熟妇xxxx性ppx人交 | 国产人妻久久精品二区三区老狼 | 久久国产精品萌白酱免费 | 亚洲熟熟妇xxxx | 精品无码一区二区三区的天堂 | 久久久成人毛片无码 | 精品人妻人人做人人爽 | 精品aⅴ一区二区三区 | 久久久久99精品成人片 | 日韩人妻少妇一区二区三区 | 久久99久久99精品中文字幕 | 国产成人无码a区在线观看视频app | 欧美午夜特黄aaaaaa片 | 免费看少妇作爱视频 | 鲁一鲁av2019在线 | 久久久久国色av免费观看性色 | www一区二区www免费 | 日本成熟视频免费视频 | 国产精品久久久久久久9999 | 国产乡下妇女做爰 | 欧美老人巨大xxxx做受 | 一本久久伊人热热精品中文字幕 | 色欲人妻aaaaaaa无码 | 中文字幕人妻无码一区二区三区 | 又大又硬又爽免费视频 | 国产情侣作爱视频免费观看 | 夜夜影院未满十八勿进 | 东北女人啪啪对白 | 麻豆精产国品 | 成人综合网亚洲伊人 | 在线 国产 欧美 亚洲 天堂 | 丰满岳乱妇在线观看中字无码 | 奇米影视7777久久精品人人爽 | 亚洲小说春色综合另类 | 内射老妇bbwx0c0ck | 午夜时刻免费入口 | 嫩b人妻精品一区二区三区 | 一个人看的www免费视频在线观看 | 无码人妻黑人中文字幕 | √8天堂资源地址中文在线 | 久久熟妇人妻午夜寂寞影院 | 99久久精品无码一区二区毛片 | 亚洲成色www久久网站 | 天天拍夜夜添久久精品 | 精品无码一区二区三区爱欲 | 国产精品对白交换视频 | 久久精品国产一区二区三区肥胖 | 国产卡一卡二卡三 | 国产精品自产拍在线观看 | 国产午夜无码精品免费看 | 亚洲 a v无 码免 费 成 人 a v | 精品国产aⅴ无码一区二区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 久久久久99精品成人片 | 2019nv天堂香蕉在线观看 | 中文字幕人妻丝袜二区 | 亚洲阿v天堂在线 | 国产无遮挡吃胸膜奶免费看 | 在线播放无码字幕亚洲 | 国产熟妇另类久久久久 | 性生交大片免费看l | 国产另类ts人妖一区二区 | 久精品国产欧美亚洲色aⅴ大片 | 成 人 网 站国产免费观看 | 嫩b人妻精品一区二区三区 | 97精品人妻一区二区三区香蕉 | 强辱丰满人妻hd中文字幕 | 四虎影视成人永久免费观看视频 | 国产卡一卡二卡三 | 97久久国产亚洲精品超碰热 | 亚洲欧洲日本综合aⅴ在线 | 成人无码视频免费播放 | 欧美激情一区二区三区成人 | 一二三四在线观看免费视频 | 国产疯狂伦交大片 | 国产无套粉嫩白浆在线 | 日韩人妻少妇一区二区三区 | 日韩精品a片一区二区三区妖精 | 秋霞特色aa大片 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | av香港经典三级级 在线 | 女高中生第一次破苞av | 久久久久国色av免费观看性色 | 欧美老人巨大xxxx做受 | 久久综合久久自在自线精品自 | 性生交片免费无码看人 | 日本免费一区二区三区最新 | 久久综合给合久久狠狠狠97色 | 美女毛片一区二区三区四区 | 国产熟女一区二区三区四区五区 | 曰本女人与公拘交酡免费视频 | 国产日产欧产精品精品app | 女人高潮内射99精品 | 7777奇米四色成人眼影 | 免费人成网站视频在线观看 | 波多野结衣 黑人 | 人人妻人人藻人人爽欧美一区 | 久久久久亚洲精品中文字幕 | 美女极度色诱视频国产 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产成人综合色在线观看网站 | 国产亚洲精品久久久久久久 | 一二三四社区在线中文视频 | 亚洲国产成人a精品不卡在线 | 老子影院午夜精品无码 | 国产乱人偷精品人妻a片 | 国产成人精品三级麻豆 | 久久久中文字幕日本无吗 | 又紧又大又爽精品一区二区 | 亚洲综合精品香蕉久久网 | 少妇久久久久久人妻无码 | 日本丰满熟妇videos | 青青青手机频在线观看 | 久久精品国产日本波多野结衣 | 性生交大片免费看l | 久久国产精品偷任你爽任你 | 亚洲午夜无码久久 | 天堂一区人妻无码 | 久久99久久99精品中文字幕 | 国产人妻大战黑人第1集 | 国产女主播喷水视频在线观看 | 波多野结衣高清一区二区三区 | 久久国产精品萌白酱免费 | 亚洲一区二区三区四区 | 国产 浪潮av性色四虎 | 蜜桃臀无码内射一区二区三区 | 激情亚洲一区国产精品 | 九九久久精品国产免费看小说 | 国产精华av午夜在线观看 | 18禁黄网站男男禁片免费观看 | 亚洲码国产精品高潮在线 | 久久久久成人精品免费播放动漫 | 在线欧美精品一区二区三区 | 成熟妇人a片免费看网站 | 日日天干夜夜狠狠爱 | 欧美大屁股xxxxhd黑色 | 欧美35页视频在线观看 | 日日夜夜撸啊撸 | 中文字幕人成乱码熟女app | 扒开双腿吃奶呻吟做受视频 | 久久综合香蕉国产蜜臀av | 无码中文字幕色专区 | 国产精品无码久久av | 丰满少妇高潮惨叫视频 | 人人妻人人澡人人爽欧美一区九九 | 老司机亚洲精品影院 | 高中生自慰www网站 | 日本免费一区二区三区最新 | 精品国产aⅴ无码一区二区 | 国产无遮挡吃胸膜奶免费看 | 男女下面进入的视频免费午夜 | 久久久婷婷五月亚洲97号色 | 天天综合网天天综合色 | 激情爆乳一区二区三区 | 东京热一精品无码av | 亚洲国产成人a精品不卡在线 | 网友自拍区视频精品 | 国产精品18久久久久久麻辣 | 久热国产vs视频在线观看 | 麻豆成人精品国产免费 | 国内精品久久毛片一区二区 | 精品一区二区不卡无码av | 午夜精品久久久久久久 | 国产综合色产在线精品 | 夜夜躁日日躁狠狠久久av | 国产av无码专区亚洲awww | 无码人妻黑人中文字幕 | 国产精品高潮呻吟av久久 | 老头边吃奶边弄进去呻吟 | 无码纯肉视频在线观看 | 少妇性l交大片欧洲热妇乱xxx | 又湿又紧又大又爽a视频国产 | 奇米影视888欧美在线观看 | 欧美性生交活xxxxxdddd | 成人精品一区二区三区中文字幕 | √天堂中文官网8在线 | 无码纯肉视频在线观看 | 欧美黑人巨大xxxxx | аⅴ资源天堂资源库在线 | 国产精品-区区久久久狼 | 草草网站影院白丝内射 | 久久久久久久人妻无码中文字幕爆 | 人人妻人人澡人人爽欧美一区九九 | 亚洲精品欧美二区三区中文字幕 | 国产97色在线 | 免 | 人人妻人人澡人人爽欧美一区九九 | 无人区乱码一区二区三区 | 久久久久亚洲精品中文字幕 | 一本久久a久久精品vr综合 | 亚洲の无码国产の无码影院 | 国产精品.xx视频.xxtv | 国产亚洲精品久久久久久久 | 欧美激情一区二区三区成人 | 激情人妻另类人妻伦 | 午夜福利一区二区三区在线观看 | 人妻尝试又大又粗久久 | 蜜桃视频韩日免费播放 | 日日碰狠狠躁久久躁蜜桃 | 波多野结衣一区二区三区av免费 | 国产精品国产三级国产专播 | 亚洲色大成网站www | 久久久久亚洲精品中文字幕 | 精品国产青草久久久久福利 | 欧美日韩一区二区三区自拍 | 性史性农村dvd毛片 | 国产精品久久久一区二区三区 | 久久久久久a亚洲欧洲av冫 | 色综合久久中文娱乐网 | 永久免费精品精品永久-夜色 | 日本精品久久久久中文字幕 | 亚洲色欲色欲欲www在线 | 波多野结衣av在线观看 | 日韩人妻无码一区二区三区久久99 | 欧洲精品码一区二区三区免费看 | 天天做天天爱天天爽综合网 | 久久久久99精品成人片 | 国产人成高清在线视频99最全资源 | 亚洲自偷自拍另类第1页 | 在线 国产 欧美 亚洲 天堂 | 丰满少妇女裸体bbw | 亚洲综合无码一区二区三区 | 国产精品第一区揄拍无码 | 亚洲日韩中文字幕在线播放 | 欧洲美熟女乱又伦 | 欧美成人午夜精品久久久 | 西西人体www44rt大胆高清 | 欧美国产日韩久久mv | 国产激情艳情在线看视频 | 性欧美疯狂xxxxbbbb | www国产亚洲精品久久网站 | 久久精品99久久香蕉国产色戒 | 精品欧洲av无码一区二区三区 | 人妻插b视频一区二区三区 | 亚洲精品国产第一综合99久久 | 国产精品亚洲综合色区韩国 | 亚洲 激情 小说 另类 欧美 | 曰本女人与公拘交酡免费视频 | 好男人www社区 | 国产人妖乱国产精品人妖 | 中文字幕人成乱码熟女app | 亚洲精品国偷拍自产在线麻豆 | 久久久久av无码免费网 | 奇米影视7777久久精品人人爽 | 日本大香伊一区二区三区 | 久久精品视频在线看15 | 一本加勒比波多野结衣 | 美女毛片一区二区三区四区 | 狂野欧美激情性xxxx | 老子影院午夜精品无码 | 人妻无码αv中文字幕久久琪琪布 | 亚洲精品一区国产 | 国产成人无码区免费内射一片色欲 | 一本久久a久久精品亚洲 | 欧美性生交活xxxxxdddd | 亚洲一区二区三区国产精华液 | 色综合久久中文娱乐网 | 久久五月精品中文字幕 | 亚洲精品一区二区三区四区五区 | 少妇性俱乐部纵欲狂欢电影 | 人人澡人摸人人添 | 强辱丰满人妻hd中文字幕 | 国产熟妇另类久久久久 | 国产免费久久久久久无码 | 强伦人妻一区二区三区视频18 | 亚洲色欲色欲欲www在线 | 国产成人综合美国十次 | 天堂一区人妻无码 | 天堂久久天堂av色综合 | 国产猛烈高潮尖叫视频免费 | 爆乳一区二区三区无码 | 国内精品人妻无码久久久影院 | 鲁鲁鲁爽爽爽在线视频观看 | 狠狠亚洲超碰狼人久久 | 无遮无挡爽爽免费视频 | 久久久精品成人免费观看 | 99久久精品无码一区二区毛片 | 亚洲国产av精品一区二区蜜芽 | 亚洲色www成人永久网址 | 久久zyz资源站无码中文动漫 | 成人aaa片一区国产精品 | 成人免费无码大片a毛片 | 在线观看国产一区二区三区 | 东京无码熟妇人妻av在线网址 | 永久免费精品精品永久-夜色 | 成人欧美一区二区三区黑人免费 | 日日干夜夜干 | 人人妻在人人 | 少妇高潮一区二区三区99 | 国产亚洲精品精品国产亚洲综合 | 少妇性l交大片 | 奇米影视7777久久精品 | 欧美兽交xxxx×视频 | 夜精品a片一区二区三区无码白浆 | 亚洲精品中文字幕乱码 | 麻豆md0077饥渴少妇 | 四虎国产精品免费久久 | 久久精品99久久香蕉国产色戒 | 欧美大屁股xxxxhd黑色 | 波多野结衣一区二区三区av免费 | 欧美日韩一区二区免费视频 | 无套内谢老熟女 | 性欧美videos高清精品 | 国产精品久久国产精品99 | 大色综合色综合网站 | 日本护士毛茸茸高潮 | 精品人妻av区 | av香港经典三级级 在线 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 精品欧洲av无码一区二区三区 | 露脸叫床粗话东北少妇 | 十八禁真人啪啪免费网站 | 女人被男人躁得好爽免费视频 | 国产精品久久久久7777 | 玩弄少妇高潮ⅹxxxyw | 欧美一区二区三区视频在线观看 | 久久精品国产大片免费观看 | 久久久中文久久久无码 | 国产乱人伦av在线无码 | 欧美黑人性暴力猛交喷水 | 国产精品美女久久久久av爽李琼 | 亚洲另类伦春色综合小说 | 亚洲人成无码网www | 无码人妻精品一区二区三区不卡 | 在线天堂新版最新版在线8 | 国产 浪潮av性色四虎 | 久久人妻内射无码一区三区 | 永久黄网站色视频免费直播 | 人人妻人人澡人人爽欧美一区 | 国产9 9在线 | 中文 | 国产人妻精品一区二区三区不卡 | 日本熟妇乱子伦xxxx | 樱花草在线播放免费中文 | 久久精品国产99精品亚洲 | 131美女爱做视频 | 丝袜足控一区二区三区 | 亚洲自偷自偷在线制服 | 亚洲熟妇色xxxxx欧美老妇y | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲精品国产精品乱码视色 | 欧美性生交活xxxxxdddd | 成人无码精品1区2区3区免费看 | 欧美日韩一区二区三区自拍 | 国产成人午夜福利在线播放 | 婷婷五月综合缴情在线视频 | 欧美肥老太牲交大战 | 精品午夜福利在线观看 | 国产精品嫩草久久久久 | 国产精品久久久久9999小说 | 露脸叫床粗话东北少妇 | 人人妻人人澡人人爽精品欧美 | 精品偷拍一区二区三区在线看 | 日产精品99久久久久久 | 色妞www精品免费视频 | 国产成人精品久久亚洲高清不卡 | 性色欲网站人妻丰满中文久久不卡 | 亚洲国产综合无码一区 | 亚洲国产成人a精品不卡在线 | 欧美大屁股xxxxhd黑色 | 久久99久久99精品中文字幕 | 国产av剧情md精品麻豆 | 国产亚洲精品久久久久久久 | 国产内射老熟女aaaa | 欧美老人巨大xxxx做受 | 特黄特色大片免费播放器图片 | 国产偷国产偷精品高清尤物 | 中文字幕 亚洲精品 第1页 | 色欲久久久天天天综合网精品 | 狠狠躁日日躁夜夜躁2020 | 国产麻豆精品一区二区三区v视界 | 女人高潮内射99精品 | 精品一二三区久久aaa片 | 男女爱爱好爽视频免费看 | 无码人妻丰满熟妇区毛片18 | 76少妇精品导航 | 男女性色大片免费网站 | 色欲av亚洲一区无码少妇 | 色诱久久久久综合网ywww | 国产艳妇av在线观看果冻传媒 | 性生交大片免费看l | 久久久国产精品无码免费专区 | 久久久久99精品国产片 | 亚洲中文无码av永久不收费 | 婷婷五月综合缴情在线视频 | 欧美国产亚洲日韩在线二区 | 成人性做爰aaa片免费看 | aⅴ在线视频男人的天堂 | 免费网站看v片在线18禁无码 | 丰满人妻精品国产99aⅴ | 巨爆乳无码视频在线观看 | 国产精品久久久久久久9999 | 免费播放一区二区三区 | 亚洲中文字幕乱码av波多ji | 久久综合九色综合97网 | 丝袜美腿亚洲一区二区 | 亚洲欧美中文字幕5发布 | 无码人妻av免费一区二区三区 | 无码成人精品区在线观看 | 撕开奶罩揉吮奶头视频 | 国产精品久久久久久亚洲毛片 | 日本熟妇人妻xxxxx人hd | 亚洲s码欧洲m码国产av | 中文字幕乱码中文乱码51精品 | 国产精品.xx视频.xxtv | 久久99精品久久久久久动态图 | 国产乱码精品一品二品 | 亚洲天堂2017无码中文 | 又粗又大又硬毛片免费看 | 一二三四社区在线中文视频 | 性欧美videos高清精品 | 亚洲中文字幕乱码av波多ji | 1000部啪啪未满十八勿入下载 | 亚洲色无码一区二区三区 | 国产亲子乱弄免费视频 | 在线观看国产一区二区三区 | 亚洲人交乣女bbw | 亚洲精品无码人妻无码 | 久久国产自偷自偷免费一区调 | 国产福利视频一区二区 | 欧美老妇交乱视频在线观看 | 秋霞特色aa大片 | 亚洲国产精品久久人人爱 | 国产成人综合在线女婷五月99播放 | 无码吃奶揉捏奶头高潮视频 | 国产麻豆精品精东影业av网站 | 久久熟妇人妻午夜寂寞影院 | 成人免费视频视频在线观看 免费 | 玩弄人妻少妇500系列视频 | 国产偷抇久久精品a片69 | 欧美精品在线观看 | 亚洲成a人片在线观看无码 | 亚洲の无码国产の无码影院 | 国内精品一区二区三区不卡 | 天海翼激烈高潮到腰振不止 | 色老头在线一区二区三区 | 国产精品久久福利网站 | 理论片87福利理论电影 | 大乳丰满人妻中文字幕日本 | 在线а√天堂中文官网 | 亚洲一区二区三区播放 | 国产精品国产三级国产专播 | 精品久久久无码中文字幕 | 日本一卡二卡不卡视频查询 | 国产精品无码一区二区桃花视频 | 水蜜桃亚洲一二三四在线 | 国产精品亚洲专区无码不卡 | 日韩人妻无码一区二区三区久久99 | 亚洲男女内射在线播放 | 国产乱子伦视频在线播放 | 国产熟妇另类久久久久 | 成人欧美一区二区三区黑人 | 荡女精品导航 | 精品国产精品久久一区免费式 | 无套内射视频囯产 | 日产精品99久久久久久 | 国产激情综合五月久久 | 国产精品久久久久久久影院 | 国产在线一区二区三区四区五区 | 熟妇人妻无码xxx视频 | 巨爆乳无码视频在线观看 | 狠狠cao日日穞夜夜穞av | 日本一卡二卡不卡视频查询 | 色一情一乱一伦 | 少妇无码吹潮 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲色www成人永久网址 | 2019午夜福利不卡片在线 | 亚洲精品国产第一综合99久久 | 国产高清av在线播放 | 久久精品国产日本波多野结衣 | 日本va欧美va欧美va精品 | 久久综合网欧美色妞网 | 亚洲成在人网站无码天堂 | 久久综合给合久久狠狠狠97色 | 六十路熟妇乱子伦 | 蜜桃视频韩日免费播放 | 国产成人亚洲综合无码 | 国产成人综合在线女婷五月99播放 | 福利一区二区三区视频在线观看 | 国产黄在线观看免费观看不卡 | 曰韩少妇内射免费播放 | 一二三四在线观看免费视频 | 国产明星裸体无码xxxx视频 | 一本色道久久综合狠狠躁 | 国产精品无码一区二区三区不卡 | 欧美三级不卡在线观看 | 日本丰满熟妇videos | 精品无码一区二区三区爱欲 | 亚洲熟女一区二区三区 | 天天综合网天天综合色 | 精品 日韩 国产 欧美 视频 | 国产精品自产拍在线观看 | 亚洲精品www久久久 | 青青草原综合久久大伊人精品 | 亚洲色欲色欲欲www在线 | 色一情一乱一伦 | 久久国产精品精品国产色婷婷 | 亚洲自偷精品视频自拍 | 人人妻人人澡人人爽欧美一区 | 欧美亚洲日韩国产人成在线播放 | 免费人成在线观看网站 | 玩弄少妇高潮ⅹxxxyw | 老太婆性杂交欧美肥老太 | 国产精品无码久久av | 久久五月精品中文字幕 | 骚片av蜜桃精品一区 | 欧美人与禽zoz0性伦交 | 又紧又大又爽精品一区二区 | 亚洲精品国产品国语在线观看 | 最近中文2019字幕第二页 | 色综合久久网 | 午夜熟女插插xx免费视频 | 免费无码av一区二区 | 欧美喷潮久久久xxxxx | 欧美亚洲国产一区二区三区 | 奇米影视7777久久精品 | 久久国产精品偷任你爽任你 | 国产熟妇高潮叫床视频播放 | 免费国产成人高清在线观看网站 | 亚洲gv猛男gv无码男同 | 国产激情无码一区二区 | 狠狠色丁香久久婷婷综合五月 | 欧美黑人性暴力猛交喷水 | 无码国内精品人妻少妇 | 久久熟妇人妻午夜寂寞影院 | 久久久精品人妻久久影视 | 久久精品人人做人人综合 | 亚洲国产精品无码一区二区三区 | 亚洲理论电影在线观看 | 成人欧美一区二区三区黑人免费 | 国产真实乱对白精彩久久 | 久久国产精品精品国产色婷婷 | 东京无码熟妇人妻av在线网址 | 国内精品人妻无码久久久影院蜜桃 | 欧美丰满熟妇xxxx | 国产av无码专区亚洲awww | 精品国产一区二区三区av 性色 | 88国产精品欧美一区二区三区 | 国产精品18久久久久久麻辣 | 全球成人中文在线 | 四虎永久在线精品免费网址 | 麻豆国产丝袜白领秘书在线观看 | 大肉大捧一进一出视频出来呀 | 中文字幕乱码亚洲无线三区 | 亚洲欧美日韩国产精品一区二区 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲成av人片在线观看无码不卡 | 强伦人妻一区二区三区视频18 | 一本色道婷婷久久欧美 | 动漫av网站免费观看 | 成人无码视频在线观看网站 | 亚洲国产精品久久久久久 | 美女黄网站人色视频免费国产 | 亚洲精品国偷拍自产在线麻豆 | 日韩欧美中文字幕公布 | 精品无码av一区二区三区 | 日韩人妻无码中文字幕视频 | 亚洲精品无码国产 | 国产两女互慰高潮视频在线观看 | 国产无遮挡又黄又爽免费视频 | 国产精品嫩草久久久久 | 性做久久久久久久久 | 撕开奶罩揉吮奶头视频 | 欧美人与禽zoz0性伦交 | 精品久久久中文字幕人妻 | 内射后入在线观看一区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 在线观看免费人成视频 | 丰满少妇高潮惨叫视频 | 亚洲色无码一区二区三区 | 日日夜夜撸啊撸 | 天天躁夜夜躁狠狠是什么心态 | 人人妻人人澡人人爽人人精品 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产人妻久久精品二区三区老狼 | 99久久久无码国产aaa精品 | 精品国产一区二区三区四区在线看 | 国产偷抇久久精品a片69 | 激情内射日本一区二区三区 | 天天做天天爱天天爽综合网 | 欧美喷潮久久久xxxxx | 久久久久久a亚洲欧洲av冫 | 国产激情无码一区二区 | 中文字幕无码av波多野吉衣 | 国产精品自产拍在线观看 | 2020久久超碰国产精品最新 | www国产亚洲精品久久久日本 | 老司机亚洲精品影院无码 | 夜夜影院未满十八勿进 | 最近免费中文字幕中文高清百度 | 亚洲成熟女人毛毛耸耸多 | 久久精品视频在线看15 | 日韩欧美成人免费观看 | 久久久精品456亚洲影院 | 亚洲国产精品无码久久久久高潮 | 伊人色综合久久天天小片 | 精品人妻中文字幕有码在线 | 久久99精品国产麻豆 | 国产av人人夜夜澡人人爽麻豆 | 国产明星裸体无码xxxx视频 | 天海翼激烈高潮到腰振不止 | 色狠狠av一区二区三区 | 国产无遮挡又黄又爽免费视频 | 亚洲成a人一区二区三区 | 欧美国产日韩久久mv | 亚洲国产成人av在线观看 | 啦啦啦www在线观看免费视频 | 少妇人妻av毛片在线看 | 国产色精品久久人妻 | 97精品人妻一区二区三区香蕉 | 国产熟女一区二区三区四区五区 | а天堂中文在线官网 | 欧美一区二区三区视频在线观看 | 欧美日韩一区二区三区自拍 | 精品乱码久久久久久久 | 成人免费视频视频在线观看 免费 | 激情内射日本一区二区三区 | 成人一区二区免费视频 | 亚洲国产精品无码久久久久高潮 | 帮老师解开蕾丝奶罩吸乳网站 | 自拍偷自拍亚洲精品被多人伦好爽 | 动漫av网站免费观看 | 欧美日韩色另类综合 | 99久久人妻精品免费一区 | 久久精品人人做人人综合试看 | 久久www免费人成人片 | 中文字幕中文有码在线 | 国产艳妇av在线观看果冻传媒 | 97人妻精品一区二区三区 | 国产欧美亚洲精品a | 亚洲区小说区激情区图片区 | 欧美日韩视频无码一区二区三 | 色欲人妻aaaaaaa无码 | 麻豆成人精品国产免费 | 欧美肥老太牲交大战 | 欧美国产日产一区二区 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲综合色区中文字幕 | 国产av一区二区精品久久凹凸 | 午夜免费福利小电影 | 国产精品久久久av久久久 | 国产乱人伦偷精品视频 | 狠狠cao日日穞夜夜穞av | 久久综合久久自在自线精品自 | 亚洲另类伦春色综合小说 | 动漫av一区二区在线观看 | 国内揄拍国内精品少妇国语 | 色情久久久av熟女人妻网站 | 中文字幕无码热在线视频 | 久久精品人妻少妇一区二区三区 | 国产精品成人av在线观看 | 日本在线高清不卡免费播放 | 亚洲另类伦春色综合小说 | 色婷婷欧美在线播放内射 | 午夜熟女插插xx免费视频 | 国产片av国语在线观看 | 国产偷国产偷精品高清尤物 | 亚洲日韩乱码中文无码蜜桃臀网站 | 澳门永久av免费网站 | 国产精品资源一区二区 | 国产人妻精品午夜福利免费 | 狠狠色丁香久久婷婷综合五月 | 国产精品第一国产精品 | 性色av无码免费一区二区三区 | 两性色午夜视频免费播放 | 人妻少妇精品无码专区动漫 | 国产精品久久久av久久久 | 55夜色66夜色国产精品视频 | 国产精品成人av在线观看 | 婷婷色婷婷开心五月四房播播 | 欧美午夜特黄aaaaaa片 | 性色欲网站人妻丰满中文久久不卡 | 少妇一晚三次一区二区三区 | 亚洲欧美精品aaaaaa片 | 97久久国产亚洲精品超碰热 | 欧美自拍另类欧美综合图片区 | 国产精品资源一区二区 | 成人试看120秒体验区 | 午夜男女很黄的视频 | 欧美freesex黑人又粗又大 | 夜精品a片一区二区三区无码白浆 | 欧美真人作爱免费视频 | 老司机亚洲精品影院 | 76少妇精品导航 | 国产精品久久久av久久久 | 97久久国产亚洲精品超碰热 | 天海翼激烈高潮到腰振不止 | 婷婷综合久久中文字幕蜜桃三电影 | 女人和拘做爰正片视频 | 色婷婷综合中文久久一本 | 亚洲色欲色欲天天天www | 亚洲男人av天堂午夜在 | 狠狠躁日日躁夜夜躁2020 | a片在线免费观看 | 久久久国产一区二区三区 | 人妻与老人中文字幕 | 中文字幕乱码亚洲无线三区 | 亚洲成av人片天堂网无码】 | 色综合久久中文娱乐网 | 国产一区二区三区影院 | 爽爽影院免费观看 | 亚洲精品无码人妻无码 | 亚洲成a人片在线观看无码 | 色婷婷欧美在线播放内射 | 日韩精品a片一区二区三区妖精 | 少妇性俱乐部纵欲狂欢电影 | 欧美一区二区三区 | 亚洲区小说区激情区图片区 | 亚洲爆乳无码专区 | 四虎4hu永久免费 | 无套内谢的新婚少妇国语播放 | 亚洲中文字幕在线无码一区二区 | 欧美猛少妇色xxxxx | 久久精品国产亚洲精品 | 国模大胆一区二区三区 | 亚洲精品久久久久avwww潮水 | 少妇无码吹潮 | 欧美放荡的少妇 | 亚洲精品久久久久久一区二区 | 亚洲国产成人a精品不卡在线 | 日韩成人一区二区三区在线观看 | 亚洲国产av精品一区二区蜜芽 | 久久国产精品二国产精品 | 亚洲s码欧洲m码国产av | 日本大香伊一区二区三区 | 久久精品女人的天堂av | 国产亚洲tv在线观看 | 成人三级无码视频在线观看 | 曰韩无码二三区中文字幕 | 亚洲国产日韩a在线播放 | 欧美猛少妇色xxxxx | 亚洲人成影院在线无码按摩店 | 精品成人av一区二区三区 | 午夜肉伦伦影院 | 2020最新国产自产精品 | 亚洲日本在线电影 | 人妻无码久久精品人妻 | 久久五月精品中文字幕 | 1000部啪啪未满十八勿入下载 | 亚洲天堂2017无码中文 | 亚洲精品一区二区三区婷婷月 | 国产欧美亚洲精品a | 国产一区二区三区精品视频 | 亚洲精品国偷拍自产在线麻豆 | 亚洲小说春色综合另类 | 国产特级毛片aaaaaaa高清 | 性色av无码免费一区二区三区 | 97色伦图片97综合影院 | 无码av免费一区二区三区试看 | 久久久婷婷五月亚洲97号色 | 国产精品内射视频免费 | 欧美自拍另类欧美综合图片区 | 国产激情精品一区二区三区 | 国产艳妇av在线观看果冻传媒 | 国产精品无码一区二区桃花视频 | 少妇一晚三次一区二区三区 | 水蜜桃av无码 | 日韩欧美中文字幕公布 | 扒开双腿疯狂进出爽爽爽视频 | 精品人妻人人做人人爽夜夜爽 | 国产人妻精品一区二区三区不卡 | 久久人妻内射无码一区三区 | 久久综合九色综合欧美狠狠 | 久久视频在线观看精品 | 亚洲午夜福利在线观看 | 樱花草在线社区www | 特大黑人娇小亚洲女 | 人妻aⅴ无码一区二区三区 | 99在线 | 亚洲 | 亚洲色www成人永久网址 | 扒开双腿吃奶呻吟做受视频 | 无码av中文字幕免费放 | 日韩人妻无码中文字幕视频 | 亚洲小说春色综合另类 | 人人爽人人澡人人人妻 | 亚洲七七久久桃花影院 | 色老头在线一区二区三区 | 久精品国产欧美亚洲色aⅴ大片 | 国产免费久久精品国产传媒 | 亚洲国产精品久久人人爱 | 亚洲综合久久一区二区 | 日本熟妇乱子伦xxxx | 亚洲中文字幕在线无码一区二区 | 国产精品第一区揄拍无码 | 中文字幕无码视频专区 | 中文字幕av无码一区二区三区电影 | 亚洲一区二区三区在线观看网站 | 久久亚洲中文字幕精品一区 | 无码一区二区三区在线 | 天下第一社区视频www日本 | 亚洲熟妇色xxxxx欧美老妇y | 免费视频欧美无人区码 | 131美女爱做视频 | 免费国产成人高清在线观看网站 | 天堂亚洲免费视频 | аⅴ资源天堂资源库在线 | 国产超碰人人爽人人做人人添 | 高潮毛片无遮挡高清免费视频 | 欧美成人午夜精品久久久 | 极品嫩模高潮叫床 | av香港经典三级级 在线 | 搡女人真爽免费视频大全 | 大肉大捧一进一出好爽视频 | 丁香花在线影院观看在线播放 | 色综合久久网 | 婷婷五月综合激情中文字幕 | 国产又爽又黄又刺激的视频 | 97久久精品无码一区二区 | 久久综合九色综合97网 | 中文字幕无码免费久久9一区9 | 精品国产乱码久久久久乱码 | 欧美亚洲国产一区二区三区 | 久久久久国色av免费观看性色 | 十八禁真人啪啪免费网站 | 亚洲精品成a人在线观看 | 十八禁真人啪啪免费网站 | 又大又黄又粗又爽的免费视频 | 噜噜噜亚洲色成人网站 | 麻豆人妻少妇精品无码专区 | 婷婷五月综合缴情在线视频 | 熟妇人妻中文av无码 | 日韩在线不卡免费视频一区 | 大地资源网第二页免费观看 | 人人妻人人藻人人爽欧美一区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 无码人妻精品一区二区三区不卡 | 亚洲精品一区三区三区在线观看 | 精品国产一区二区三区av 性色 | 国产麻豆精品一区二区三区v视界 | 天堂无码人妻精品一区二区三区 | 日本精品久久久久中文字幕 | 久久人人爽人人人人片 | 丰满肥臀大屁股熟妇激情视频 | 国产午夜福利亚洲第一 | 久久国产精品偷任你爽任你 | 日本www一道久久久免费榴莲 | 国产做国产爱免费视频 | 国产深夜福利视频在线 | 桃花色综合影院 | 久久精品人人做人人综合 | 国产熟女一区二区三区四区五区 | 3d动漫精品啪啪一区二区中 | 国产人妻人伦精品 | 国产婷婷色一区二区三区在线 | 国产片av国语在线观看 | 久久精品丝袜高跟鞋 | 久久国产精品精品国产色婷婷 | 波多野42部无码喷潮在线 | 亚洲日韩av一区二区三区四区 | 97人妻精品一区二区三区 | 欧美日韩久久久精品a片 | 欧美老熟妇乱xxxxx | 亚洲中文字幕av在天堂 | 久久久久av无码免费网 | 亚洲区欧美区综合区自拍区 | 四虎永久在线精品免费网址 | 精品少妇爆乳无码av无码专区 | 国产精品久久久久无码av色戒 | 人妻体内射精一区二区三四 | 波多野结衣高清一区二区三区 | 国产网红无码精品视频 | 中文精品久久久久人妻不卡 | 成人综合网亚洲伊人 | 久久久久成人片免费观看蜜芽 | 久久久久久久女国产乱让韩 | 67194成是人免费无码 | 午夜精品一区二区三区的区别 | 欧美日韩亚洲国产精品 | 人人爽人人澡人人人妻 | 精品久久久中文字幕人妻 | 国产精品a成v人在线播放 | 中文字幕人妻丝袜二区 | 亚洲无人区午夜福利码高清完整版 | 日本欧美一区二区三区乱码 | 国产精品久久久一区二区三区 | 荫蒂被男人添的好舒服爽免费视频 | 欧美丰满少妇xxxx性 | 熟妇女人妻丰满少妇中文字幕 | 扒开双腿吃奶呻吟做受视频 | 国产一区二区不卡老阿姨 | 日本高清一区免费中文视频 | 精品人妻人人做人人爽夜夜爽 | 久久婷婷五月综合色国产香蕉 | 日韩av无码一区二区三区不卡 | 无码人妻精品一区二区三区下载 | 成人动漫在线观看 | 欧美亚洲日韩国产人成在线播放 | 日本高清一区免费中文视频 | 性色欲网站人妻丰满中文久久不卡 | 亲嘴扒胸摸屁股激烈网站 | 无码人中文字幕 | 波多野42部无码喷潮在线 | 日本在线高清不卡免费播放 | 捆绑白丝粉色jk震动捧喷白浆 | 国产精品久久久久7777 | 久久久久久亚洲精品a片成人 | 亚洲综合无码一区二区三区 | 亚洲综合无码一区二区三区 | 亚洲a无码综合a国产av中文 | 嫩b人妻精品一区二区三区 | 国产av一区二区三区最新精品 | 欧美 日韩 人妻 高清 中文 | 日韩人妻无码一区二区三区久久99 | 啦啦啦www在线观看免费视频 | 丰满人妻精品国产99aⅴ | 国产精品永久免费视频 | 欧美35页视频在线观看 | 亚洲日韩av一区二区三区四区 | 人妻无码久久精品人妻 | 日韩欧美群交p片內射中文 | 俺去俺来也www色官网 | 荫蒂被男人添的好舒服爽免费视频 | 4hu四虎永久在线观看 | 国产人妖乱国产精品人妖 | 天堂亚洲免费视频 | 国产一区二区三区日韩精品 | 成人欧美一区二区三区 | 免费无码午夜福利片69 | 亚洲国产欧美日韩精品一区二区三区 | 精品日本一区二区三区在线观看 | 中文字幕无码热在线视频 | 亚洲精品无码国产 | 亚洲精品国产品国语在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 又大又黄又粗又爽的免费视频 | 性生交大片免费看女人按摩摩 | 国产精品沙发午睡系列 | 一区二区三区乱码在线 | 欧洲 | 亚洲熟妇自偷自拍另类 | 妺妺窝人体色www在线小说 | 色诱久久久久综合网ywww | 熟妇人妻激情偷爽文 | 日韩av无码一区二区三区不卡 | 久久99精品久久久久婷婷 | 99久久人妻精品免费二区 | av在线亚洲欧洲日产一区二区 | 无码人妻出轨黑人中文字幕 | 久久久久99精品成人片 | 日韩精品a片一区二区三区妖精 | 国产精品va在线观看无码 | 永久免费观看美女裸体的网站 | 成人欧美一区二区三区黑人 | 国产在线精品一区二区三区直播 | 国产精品久久久久影院嫩草 | 亚洲中文无码av永久不收费 | 青青青爽视频在线观看 | 国产午夜视频在线观看 | 国产美女极度色诱视频www | 男人和女人高潮免费网站 | 日韩亚洲欧美中文高清在线 | 俺去俺来也在线www色官网 | 久久久久国色av免费观看性色 | 色欲综合久久中文字幕网 | 色狠狠av一区二区三区 | 国产片av国语在线观看 | 国产偷国产偷精品高清尤物 | 成人av无码一区二区三区 | 中文字幕日韩精品一区二区三区 | 又黄又爽又色的视频 | 影音先锋中文字幕无码 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲国产午夜精品理论片 | 人妻天天爽夜夜爽一区二区 | 国产亚洲日韩欧美另类第八页 | 欧美喷潮久久久xxxxx | 福利一区二区三区视频在线观看 | 久久久久久亚洲精品a片成人 | 欧洲美熟女乱又伦 | 99国产精品白浆在线观看免费 | 国产成人精品三级麻豆 | 一区二区传媒有限公司 | 国内丰满熟女出轨videos | 露脸叫床粗话东北少妇 | 九一九色国产 | 成人av无码一区二区三区 | 色爱情人网站 | 国内少妇偷人精品视频 | 国产精品人人爽人人做我的可爱 | 骚片av蜜桃精品一区 | 亚洲成a人片在线观看无码3d | 中国大陆精品视频xxxx | 久久午夜夜伦鲁鲁片无码免费 | 国产三级精品三级男人的天堂 | 久久久中文字幕日本无吗 | 狠狠亚洲超碰狼人久久 | 欧洲vodafone精品性 | 成人av无码一区二区三区 | 捆绑白丝粉色jk震动捧喷白浆 | 清纯唯美经典一区二区 | 西西人体www44rt大胆高清 | 无码人妻丰满熟妇区五十路百度 | 国产成人无码一二三区视频 | 亚洲精品久久久久久久久久久 | 双乳奶水饱满少妇呻吟 | 国产精品无码成人午夜电影 | 老熟妇仑乱视频一区二区 | 熟妇人妻中文av无码 | 麻豆国产97在线 | 欧洲 | 免费网站看v片在线18禁无码 | 久久久久99精品国产片 | 亚洲欧美精品伊人久久 | 樱花草在线社区www | 中文字幕无码人妻少妇免费 | 国产偷国产偷精品高清尤物 | 亚洲成av人片在线观看无码不卡 | 99麻豆久久久国产精品免费 | 玩弄少妇高潮ⅹxxxyw | 强辱丰满人妻hd中文字幕 | 性生交片免费无码看人 | 麻豆av传媒蜜桃天美传媒 | www一区二区www免费 | 欧美老妇与禽交 | √天堂中文官网8在线 | 亚洲小说春色综合另类 | 无码乱肉视频免费大全合集 | 中文亚洲成a人片在线观看 | 99久久婷婷国产综合精品青草免费 | 婷婷综合久久中文字幕蜜桃三电影 | 成人女人看片免费视频放人 | 欧美亚洲日韩国产人成在线播放 | 日韩在线不卡免费视频一区 | 亚洲成a人一区二区三区 | 奇米影视7777久久精品人人爽 | 人妻互换免费中文字幕 | 国产高潮视频在线观看 | 无码人妻丰满熟妇区毛片18 | 亚洲欧美精品伊人久久 | 老司机亚洲精品影院 | 真人与拘做受免费视频 | 狠狠综合久久久久综合网 | 久久精品人人做人人综合 | 人人妻人人澡人人爽精品欧美 | 中文字幕无码日韩专区 | 国产舌乚八伦偷品w中 | 色老头在线一区二区三区 | 精品无码一区二区三区爱欲 | 国产成人无码a区在线观看视频app | 粗大的内捧猛烈进出视频 | 久久综合给久久狠狠97色 | 领导边摸边吃奶边做爽在线观看 | 亚无码乱人伦一区二区 | 日本精品人妻无码77777 天堂一区人妻无码 | 欧洲vodafone精品性 | 亚洲精品欧美二区三区中文字幕 | 中文字幕无线码 | 色情久久久av熟女人妻网站 | 伊人久久大香线蕉午夜 | 国产精品鲁鲁鲁 | 中文字幕 亚洲精品 第1页 | 亚洲毛片av日韩av无码 | 影音先锋中文字幕无码 | 欧美老熟妇乱xxxxx | 少妇性俱乐部纵欲狂欢电影 | 性啪啪chinese东北女人 | 美女毛片一区二区三区四区 | 欧洲熟妇精品视频 | 日韩欧美中文字幕在线三区 | 波多野42部无码喷潮在线 | 日韩 欧美 动漫 国产 制服 | 一本一道久久综合久久 | 97资源共享在线视频 | 美女黄网站人色视频免费国产 | 永久免费观看美女裸体的网站 | 亚洲日韩精品欧美一区二区 | 国产艳妇av在线观看果冻传媒 | 午夜精品久久久久久久久 | 波多野结衣av一区二区全免费观看 | 国产人妖乱国产精品人妖 | 亚洲中文字幕无码中文字在线 | 性欧美牲交在线视频 | 精品偷拍一区二区三区在线看 | 久在线观看福利视频 | 奇米影视888欧美在线观看 | 亚洲一区二区三区播放 | 成人无码影片精品久久久 | 伊人久久大香线蕉av一区二区 | 久久精品国产日本波多野结衣 | 草草网站影院白丝内射 | 亚洲日韩乱码中文无码蜜桃臀网站 | 精品久久8x国产免费观看 | 成人免费无码大片a毛片 | 一本久久a久久精品亚洲 | 午夜福利试看120秒体验区 | 成年美女黄网站色大免费视频 | 久久久久人妻一区精品色欧美 | 亚洲国产精品毛片av不卡在线 | 国产真人无遮挡作爱免费视频 | 日韩人妻系列无码专区 | 国产午夜福利100集发布 | 丰满人妻一区二区三区免费视频 | 中文字幕av无码一区二区三区电影 | 日韩 欧美 动漫 国产 制服 | 国产艳妇av在线观看果冻传媒 | 欧美人妻一区二区三区 | 色综合久久中文娱乐网 | 国产精品美女久久久网av | 国产麻豆精品精东影业av网站 | 国产又粗又硬又大爽黄老大爷视 | 国产电影无码午夜在线播放 | 野外少妇愉情中文字幕 | 狠狠噜狠狠狠狠丁香五月 | 在线 国产 欧美 亚洲 天堂 | 国产成人无码av一区二区 | 国产亚洲美女精品久久久2020 | 日韩欧美群交p片內射中文 | 狠狠噜狠狠狠狠丁香五月 | 国内揄拍国内精品少妇国语 | 99久久久无码国产aaa精品 | 内射白嫩少妇超碰 | 亚洲国产欧美日韩精品一区二区三区 | 婷婷五月综合缴情在线视频 | 一本大道久久东京热无码av | 国产69精品久久久久app下载 | 久久综合狠狠综合久久综合88 | 在线播放亚洲第一字幕 | 亚洲国产日韩a在线播放 | 香蕉久久久久久av成人 | 日韩精品无码一本二本三本色 | 无码福利日韩神码福利片 | 夜夜高潮次次欢爽av女 | 国产午夜精品一区二区三区嫩草 | 久久精品女人天堂av免费观看 | 牲欲强的熟妇农村老妇女 | 国产精品亚洲综合色区韩国 | 老太婆性杂交欧美肥老太 | 国产精品自产拍在线观看 | 鲁一鲁av2019在线 | 亚洲国产精品毛片av不卡在线 | 精品偷自拍另类在线观看 | 国产一精品一av一免费 | 国产午夜精品一区二区三区嫩草 | 亚洲精品综合一区二区三区在线 | 麻豆精品国产精华精华液好用吗 | 国产成人精品久久亚洲高清不卡 | 亚洲 欧美 激情 小说 另类 | 国产成人无码a区在线观看视频app | 老头边吃奶边弄进去呻吟 | 精品乱码久久久久久久 | av人摸人人人澡人人超碰下载 | 人妻体内射精一区二区三四 | 欧美精品国产综合久久 | 一本一道久久综合久久 | 少妇高潮喷潮久久久影院 | 牛和人交xxxx欧美 | 日本成熟视频免费视频 | 东京热一精品无码av | 日日天干夜夜狠狠爱 | 国内老熟妇对白xxxxhd | 国产情侣作爱视频免费观看 | 亚洲精品午夜无码电影网 | 东京热无码av男人的天堂 | 日本乱偷人妻中文字幕 | 无码一区二区三区在线 | 亚洲爆乳精品无码一区二区三区 | 欧美丰满熟妇xxxx | 中文字幕无码视频专区 | 日本一区二区更新不卡 | 亚洲熟女一区二区三区 | 日本乱人伦片中文三区 | 暴力强奷在线播放无码 | 麻豆人妻少妇精品无码专区 | 欧美性生交xxxxx久久久 | 香港三级日本三级妇三级 | 久久久久免费精品国产 | 日韩在线不卡免费视频一区 | 亚洲国产精品久久久天堂 | 一本久久伊人热热精品中文字幕 | 久久久久久a亚洲欧洲av冫 | 麻豆成人精品国产免费 | 成人免费视频视频在线观看 免费 | 狠狠噜狠狠狠狠丁香五月 | 国产激情艳情在线看视频 | 亚洲精品国偷拍自产在线麻豆 | 欧美日韩综合一区二区三区 | 日本大乳高潮视频在线观看 | 亚洲国产精品久久人人爱 | 国产亚洲欧美在线专区 | 亚拍精品一区二区三区探花 | 亚洲gv猛男gv无码男同 | 四虎影视成人永久免费观看视频 | 国产av剧情md精品麻豆 | 久久精品国产精品国产精品污 | 亚洲中文字幕无码中字 | 婷婷六月久久综合丁香 | 欧美自拍另类欧美综合图片区 | 亚洲精品久久久久avwww潮水 | 国内揄拍国内精品人妻 | 久久久久亚洲精品中文字幕 | 色婷婷欧美在线播放内射 | 国产热a欧美热a在线视频 | 99久久亚洲精品无码毛片 | 未满成年国产在线观看 | 久久久亚洲欧洲日产国码αv | 97久久精品无码一区二区 | 水蜜桃色314在线观看 | 久久国产劲爆∧v内射 | 免费男性肉肉影院 | 丰满妇女强制高潮18xxxx | 日韩av无码中文无码电影 | 国产亚洲精品久久久久久久久动漫 | 欧美野外疯狂做受xxxx高潮 | 欧美成人免费全部网站 | 巨爆乳无码视频在线观看 | 国产97在线 | 亚洲 | 久激情内射婷内射蜜桃人妖 | av无码电影一区二区三区 | 国产成人久久精品流白浆 | 欧洲欧美人成视频在线 | 国产无av码在线观看 | 国产欧美亚洲精品a | 在线观看国产一区二区三区 | 亚洲综合无码久久精品综合 | 在线 国产 欧美 亚洲 天堂 | 性史性农村dvd毛片 | 性欧美疯狂xxxxbbbb | 国内精品久久久久久中文字幕 | 精品一区二区三区波多野结衣 | 成人aaa片一区国产精品 | 亚洲熟妇色xxxxx欧美老妇y | 99视频精品全部免费免费观看 | 丝袜足控一区二区三区 | 久久午夜夜伦鲁鲁片无码免费 | 伊人久久大香线焦av综合影院 | 丰满少妇女裸体bbw | 老司机亚洲精品影院无码 | 97无码免费人妻超级碰碰夜夜 | 国产精品香蕉在线观看 | 国产97在线 | 亚洲 | 欧美日韩人成综合在线播放 | 极品尤物被啪到呻吟喷水 | 亚洲人交乣女bbw | 亚洲精品美女久久久久久久 | 中文字幕无线码免费人妻 | 中文字幕乱码中文乱码51精品 | 亚洲国产午夜精品理论片 | 小泽玛莉亚一区二区视频在线 | www成人国产高清内射 | 99久久婷婷国产综合精品青草免费 | 欧美日韩视频无码一区二区三 | 日产国产精品亚洲系列 | 国产精品久久久久久久影院 | 2020最新国产自产精品 | 狠狠色欧美亚洲狠狠色www | 亚洲熟妇自偷自拍另类 | 男人的天堂av网站 | 国产精品怡红院永久免费 | 亚洲国产精品美女久久久久 | 丰满岳乱妇在线观看中字无码 | 国产99久久精品一区二区 | 国产亚洲精品久久久ai换 | 午夜精品一区二区三区的区别 | 好爽又高潮了毛片免费下载 | 日本熟妇人妻xxxxx人hd | 欧美freesex黑人又粗又大 | 中文字幕无码免费久久9一区9 | 一区二区三区高清视频一 | 无码av最新清无码专区吞精 | 久热国产vs视频在线观看 | 亚洲国产欧美国产综合一区 | 国产区女主播在线观看 | 欧洲欧美人成视频在线 | 人人妻人人澡人人爽欧美一区 | 性色av无码免费一区二区三区 | 色婷婷欧美在线播放内射 | 国产尤物精品视频 | 乱人伦人妻中文字幕无码久久网 | 亚洲无人区午夜福利码高清完整版 | 久久久国产精品无码免费专区 | 久久国内精品自在自线 | 日本一区二区三区免费播放 | 东北女人啪啪对白 | 亚洲色大成网站www | 又大又紧又粉嫩18p少妇 | 亚洲熟妇色xxxxx欧美老妇y | 国产人妻精品一区二区三区 | 国产成人综合在线女婷五月99播放 | 亚洲国产精品久久人人爱 | 亚洲娇小与黑人巨大交 | 欧美日韩在线亚洲综合国产人 | 亚洲综合伊人久久大杳蕉 |