日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

spring cloud+.net core搭建微服务架构:Api授权认证(六)

發布時間:2023/12/4 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring cloud+.net core搭建微服务架构:Api授权认证(六) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

這篇文章拖太久了,因為最近實在太忙了,加上這篇文章也非常長,所以花了不少時間,給大家說句抱歉。好,進入正題。目前的項目基本都是前后端分離了,前端分Web,Ios,Android。。。,后端也基本是Java,.NET的天下,后端渲染頁面的時代已經一去不復返,當然這是時代的進步。前端調用后端服務目前大多數基于JSON的HTTP服務,那么就引入的我們今天的內容。客戶端訪問服務的時候怎么保證安全呢?很多同學都聽說過OAuth2.0,都知道這個是用來做第三方登錄的,實際上它也可以用來做Api的認證授權。不懂OAuth的同學可以先去看看阮一峰的OAuth的講解,如果你看不懂的話,那就對了,筆者當初也看了很久,結合實際項目才明白。這章我會結合具體的例子幫助大家理解。同時也也會結合前幾章的內容做一個整合,讓大家對微服務架構以及API授權有一個更清晰的認識。

業務場景

Api的認證授權,在微服務體系里面它也是一個服務,我們叫做認證授權中心。同時我們再提供一個用戶中心和訂單中心,構建我們的業務場景。我們模擬一個用戶(客戶端)是怎么一步一步獲取我們的訂單數據的,同時也結合前幾張的內容搭建一個相對完整的微服務架構的demo。

程序清單列表

  • 服務中心

  • API網關

  • 認證授權中心

  • 用戶中心

  • 訂單中心

    用戶中心和認證授權中心有耦合的情況,訪問認證授權的時候要去驗證用戶的賬號密碼是否合法

下圖是一個簡單的架構草圖

服務中心和API網關大家看之前的文章來搭建,也可以直接看github上的源代碼,沒有什么變化。

認證授權中心

一直在說Ids4(IdentityServer4)這個框架,它實際上是一個實現了OAuth+OIDC(OpenId Connect)這兩個功能的解決方案。那么OAuth和OIDC又到底是什么東西呢?簡單來說OAuth就是幫助我們做授權獲取token的,而OIDC就是幫助我們做認證這個token合法性的。一個完整的授權認證系統應該包含這兩個功能。那么我們再談一談token,Ids4提供2種完全不一樣的token加密方式,一種是JWT另一種叫Reference。那么這兩種加密方式有何不同呢?JWT就是對這個字符串的一個加密算法,這個字符串包含了用戶信息,客戶端可以直接解析token,拿到用戶信息,不需要和認證服授權務器去交互(程序首次加載的時候交互一次)。Reference更像Session,需要和認證服務器交互,由認證授權服務器去驗證是否合法,每一次訪問都需要和認證服務器進行交互,并且用戶信息也是通過認證成功以后返回的。這兩種方式各有優缺點。
JWT是一種加密方式,那么認證服務器不需要對token進行存儲,而客戶端也不需要找服務端驗證,那么對于程序的性能是有很大的提升的,也不用考慮分布式和存儲的問題,但是對于生成的token沒辦法控制,只能通過時效性來過期。
Reference的方式,token需要考慮分布式的存儲,而且客戶端需要一直和服務端認證,有一定的性能損耗,但是服務端可以對token進行控制,比如登出用戶,修改密碼都可以作廢掉已經生成的token,這個時候再拿這個token是沒辦法使用的。然而不管是APP還是WEB讓用戶主動登出操作這是一個非常偽的需求,實際上即使是Reference方式token依然靠時效性來控制。
那么問題來了,當你的上級不懂技術的時候,問你萬一我的token泄露了怎么辦?你可以這樣回答他。如果是在傳輸過程中的泄露,那么我們可以通過HTTPS的方式加密。程序代碼里面用戶相關的操作,都應該對傳遞的UserId參數和token里面解析出來UserId進行比較,如果出現不一致,那么這一定是一個非法請求。例如張三拿著李四的token去修改密碼,肯定是修改不成功的。如果是在用戶的客戶端(WEB,APP)就把token泄露了,那么這個實際上這個客戶端已經不止token泄露這么簡單了,包括他所有的用戶信息都泄露了,這個時候token已經沒有了意義。就好比騰訊QQ加密算法做的如何如何牛逼,但是你泄露了你的QQ號和密碼...
我們可以在過期時間上盡量短一點,客戶端通過刷新token的方式不斷獲取新的token,而達到用戶不用重復的登錄,就能一直訪問API接口。
至于兩種方式的安全性我覺得都一樣,微服務中我更傾向JWT這種方式,簡單,高效。下面的代碼我會模擬這兩種模式,至于具體選擇哪種方式大家根據實際的業務需求來。

小插曲:和幾位技術大牛經過激烈的討論,大家一致認為服務與服務之間的通信也是需要認證的,這樣雖然增加了一定的性能損耗但是卻更加的安全。我覺得有句話說的非常好,原則上內部其它系統都是不可信的。所以微服務之間的訪問也得認證。

Reference方式的token,Ids4默認采用的內存做存儲,也提供了EF for MS SQL 做分布式存儲,而我們這里并不采用這種方式,我們采用redis來作為token的存儲。

添加nuget引用
<PackageReference Include="Foundatio.Redis" Version="5.1.1478" /> <PackageReference Include="IdentityServer4" Version="2.0.2" /> <PackageReference Include="Pivotal.Discovery.Client" Version="1.1.0" />
Config.cs

配置Client信息,我們創建2個Client,一個采用JWT,一個采用Reference方式

new Client {ClientId = "client.jwt",ClientSecrets ={ ? ? ? ?new Secret("AB2DC090-0125-4FB8-902A-34AFB64B7D9B".Sha256())},AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,AllowOfflineAccess = true,AccessTokenLifetime = accessTokenLifetime,AllowedScopes ={ ? ? ? ?"api1"},AccessTokenType =AccessTokenType.Jwt }new Client {ClientId = "client.reference",ClientSecrets ={ ? ? ? ?new Secret("A30E6E57-086C-43BE-AF79-67ADECDA0A5B".Sha256())},AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,AllowOfflineAccess = true,AccessTokenLifetime = accessTokenLifetime,AllowedScopes ={ ? ? ? ?"api1"},AccessTokenType =AccessTokenType.Reference },
RedisPersistedGrantStore.cs

實現IPersistedGrantStore接口來支持redis

public class RedisPersistedGrantStore : IPersistedGrantStore{ ? ? ?private readonly ICacheClient _cacheClient; ?
?private readonly IConfiguration _configuration;
?
??public RedisPersistedGrantStore(ICacheClient cacheClient, IConfiguration configuration) ? ?{_cacheClient = cacheClient;_configuration = configuration;}
??
???public Task StoreAsync(PersistedGrant grant) ? ?{ ?
??? ? ? ?var accessTokenLifetime = double.Parse(_configuration.GetConnectionString("accessTokenLifetime")); ? ? ?
??? ? ? ? ?var timeSpan = TimeSpan.FromSeconds(accessTokenLifetime);_cacheClient?.SetAsync(grant.Key, grant, timeSpan); ? ? ? ?return Task.CompletedTask;} ? ?
??
??public Task<PersistedGrant> GetAsync(string key) ? ?{ ? ? ?
?? ?if (_cacheClient.ExistsAsync(key).Result){ ? ? ? ? ?
?? ??var ss = _cacheClient.GetAsync<PersistedGrant>(key).Result; ? ? ? ? ? ?return Task.FromResult<PersistedGrant>(_cacheClient.GetAsync<PersistedGrant>(key).Result.Value);} ? ? ?
?? ?? ?return Task.FromResult<PersistedGrant>((PersistedGrant)null);} ?
??
?? ?public Task<IEnumerable<PersistedGrant>> GetAllAsync(string subjectId){ ? ? ?
?? ??var persistedGrants = _cacheClient.GetAllAsync<PersistedGrant>().Result.Values; ? ? ? ?return Task.FromResult<IEnumerable<PersistedGrant>>(persistedGrants.Where(x => x.Value.SubjectId == subjectId).Select(x => x.Value));} ? ?
?? ??
?? public Task RemoveAsync(string key) ? ?{_cacheClient?.RemoveAsync(key); ? ?
?? ? ?return Task.CompletedTask;} ?
??
???public Task RemoveAllAsync(string subjectId, string clientId) ? ?{_cacheClient.RemoveAllAsync(); ? ? ? ?
???return Task.CompletedTask;} ?
???
????public Task RemoveAllAsync(string subjectId, string clientId, string type) ? ?{ ? ? ? ?
????var persistedGrants = _cacheClient.GetAllAsync<PersistedGrant>().Result.Values.Where(x => x.Value.SubjectId == subjectId && x.Value.ClientId == clientId &&x.Value.Type == type).Select(x => x.Value); ? ? ? ?foreach (var item in persistedGrants){_cacheClient?.RemoveAsync(item.Key);} ? ? ? ?
????return Task.CompletedTask;} }
ResourceOwnerPasswordValidator.cs

實現IResourceOwnerPasswordValidator接口實現自定義的用戶驗證邏輯

public class ResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator{ ?
?private readonly DiscoveryHttpClientHandler _handler; ?
??private const string UserApplicationName = "user"; ? ?
??
??public ResourceOwnerPasswordValidator(IDiscoveryClient client) ? ?{_handler = new DiscoveryHttpClientHandler(client);} ?
??
???public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) ? ?{ ? ? ? ?//調用用戶中心的驗證用戶名密碼接口var client = new HttpClient(_handler); ? ?
???? ?var url = $"http://{UserApplicationName}/search?name={context.UserName}&password={context.Password}"; ? ? ?
???? ? ?var result = await client.GetAsync(url); ? ?
???? ? ?if (result.IsSuccessStatusCode){ ? ? ? ? ? ?var user = await result.Content.ReadAsObjectAsync<dynamic>(); ? ? ? ?
???? ? ?var claims = new List<Claim>() { new Claim("role", user.role.ToString()) };context.Result = new GrantValidationResult(user.id.ToString(), OidcConstants.AuthenticationMethods.Password, claims);} ? ? ?
???? ? ?else{context.Result = new GrantValidationResult(null);}} } var claims = new List<Claim>() { new Claim("key", "value") }; 這里可以傳遞自定義的用戶信息,在客戶端通過User.Claims.FirstOrDefault(x => x.Type == "key")來獲取

這里需要注意一下,因為這里走的是http所以,授權服務中心和用戶中心存在耦合,我個人建議如果走JWT的方式,用戶中心和認證授權中心可以合并成一個服務,如果采用Reference的方式,建議還是拆分。


Startup.cs
public void ConfigureServices(IServiceCollection services){services.AddDiscoveryClient(Configuration); ?
?var redisconnectionString = Configuration.GetConnectionString("RedisConnectionString"); ?
??var config = new Config(Configuration);services.AddMvc();services.AddIdentityServer({x.IssuerUri = "http://identity";x.PublicOrigin = "http://identity";}).AddDeveloperSigningCredential().AddInMemoryPersistedGrants().AddInMemoryApiResources(config.GetApiResources()).AddInMemoryClients(config.GetClients());services.AddSingleton(ConnectionMultiplexer.Connect(redisconnectionString));services.AddTransient<ICacheClient, RedisCacheClient>();//注入redisservices.AddSingleton<IPersistedGrantStore, RedisPersistedGrantStore>();services.AddTransient<IResourceOwnerPasswordValidator, ResourceOwnerPasswordValidator>(); }
??public void Configure(IApplicationBuilder app, IHostingEnvironment env){ ? ?if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc();app.UseDiscoveryClient();app.UseIdentityServer();}

因為是采用服務發現的方式,所以我們這里要修改IssuerUri和PublicOrigin。不要讓發現服務暴露自己的具體URL地址,否則這里就負載不均衡了。

appsettings.json
"ConnectionStrings": { ? ? ?
?"RedisConnectionString": "localhost", ? ? ? ?"AccessTokenLifetime": 3600 //token過期時間 單位秒}, ? ?"spring": { ? ? ? ?"application": { ? ? ? ? ? ?"name": "identity"}}, ? ?"eureka": { ? ? ? ?"client": { ? ? ? ? ? ?"serviceUrl": "http://localhost:5000/eureka/"}, ? ? ? ?"instance": { ? ? ? ? ?"port": 8010}}

用戶中心

用戶中心主要實現2個接口,一個給授權中心驗證用戶使用,還有一個是給客戶端登錄的時候返回token使用

nuget引用
<PackageReference Include="IdentityModel" Version="2.14.0" /> <PackageReference Include="Pivotal.Discovery.Client" Version="1.1.0" />
appsettings.json
{ ?"spring": { ?
?"application": { ? ? ?"name": "user"}}, ?"eureka": { ? ?"client": { ? ? ?"serviceUrl": "http://localhost:5000/eureka/"}, ? ?"instance": { ? ? ?"port": 8040, ? ? ?"hostName": "localhost"}}, ?"IdentityServer": {//jwt ? ?"ClientId": "client.jwt", ? ?"ClientSecrets": "AB2DC090-0125-4FB8-902A-34AFB64B7D9B"//reference//"ClientId": "client.reference",//"ClientSecrets": "A30E6E57-086C-43BE-AF79-67ADECDA0A5B"} } ?
ValuesController.cs
[Route("/")]
public class ValuesController : Controller{ ?
? ?private const string IdentityApplicationName = "identity"; ? ? ? ? ?? ?private readonly DiscoveryHttpClientHandler _handler; ?
? ?private readonly IConfiguration _configuration; ?
? ?public ValuesController(IDiscoveryClient client, IConfiguration configuration) ? ?{_configuration = configuration;_handler = new DiscoveryHttpClientHandler(client);}
[HttpGet("search")] ?
?public IActionResult Get(string name, string password) ? ?{ ? ? ? ?var account = Account.GetAll().FirstOrDefault(x => x.Name == name && x.Password == password); ? ? ?
? ?if (account != null){ ? ? ? ? ?
? ??return Ok(account);} ? ? ?
? ???else{ ? ? ? ?
? ???? ?return NotFound();}}
? ???? ?[HttpPost("Login")] ?
? ?public async Task<IActionResult> Login([FromBody] LoginRequest input) ? ?{ ? ? ? ?var discoveryClient = new DiscoveryClient($"http://{IdentityApplicationName}", _handler){Policy = new DiscoveryPolicy { RequireHttps = false }}; ? ? ?
?var disco = await discoveryClient.GetAsync(); ?
?? ? ?if (disco.IsError)
?? ? ?throw new Exception(disco.Error); ? ? ? ?var clientId = _configuration.GetSection("IdentityServer:ClientId").Value; ? ? ? ?if (string.IsNullOrEmpty(clientId))
?? ? ? throw new Exception("clientId is not value."); ? ?
?? ? ?
?? ? ? ?var clientSecrets = _configuration.GetSection("IdentityServer:ClientSecrets").Value; ? ? ? ?if (string.IsNullOrEmpty(clientSecrets))
?? ? ? ? throw new Exception("clientSecrets is not value."); ? ?
?? ? ? ?? ?var tokenClient = new TokenClient(disco.TokenEndpoint, clientId, clientSecrets, _handler); ? ? ? ?var response = await tokenClient.RequestResourceOwnerPasswordAsync(input.Name, input.Password, "api1 offline_access");//如果需要刷新token那么這里要多傳遞一個offline_access參數,不傳的話RefreshToken為nullvar response = await tokenClient.RequestResourceOwnerPasswordAsync(input.Name, input.Password, "api1"); ? ? ?
?? ? ? ? ?if (response.IsError) throw new Exception(response.Error); ? ?
?? ? ? ? ?? ?return Ok(new LoginResponse(){AccessToken = response.AccessToken,ExpireIn = response.ExpiresIn,RefreshToken = response.RefreshToken});} }

這里offline_access這個參數很重要,如果你需要刷新token必須傳這個參數,傳遞了這個參數以后redis服務器會記錄,通過refreshToken來獲取一個新的accessToken,這里就不做演示了,Ids4的東西太多了,更細節的東西大家去關注Ids4的內容

Account.cs

提供2個用戶,各有不同的角色

public class Account{ ? ? ?
??public string Name { get; set; } ? ?
??? ?public string Password { get; set; } ? ?
??? ?
??? ?public int Id { get; set; } ? ?
??? ?
??? ?public string Role { get; set; } ? ? ? ?
??? ?
??? ?public static List<Account> GetAll() ? ? ? ?{ ? ? ? ? ? ?return new List<Account>(){ ? ? ? ? ? ? ?
??? ? ?new Account(){Id = 87654,Name = "leo",Password = "123456",Role = "admin"}, ? ? ? ? ? ? ? ?new Account(){Id = 45678,Name = "mickey",Password = "123456",Role = "normal"}};}}

訂單中心

nuget引用
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.1.0" /> <PackageReference Include="Pivotal.Discovery.Client" Version="1.1.0" />
Startup.cs
public void ConfigureServices(IServiceCollection services){services.AddDiscoveryClient(Configuration); ? ?var discoveryClient = services.BuildServiceProvider().GetService<IDiscoveryClient>(); ? ?var handler = new DiscoveryHttpClientHandler(discoveryClient);services.AddAuthorization();services.AddAuthentication(x =>{x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;}).AddIdentityServerAuthentication(x =>{x.ApiName = "api1";x.ApiSecret = "secret";x.Authority = "http://identity";x.RequireHttpsMetadata = false;x.JwtBackChannelHandler = handler;x.IntrospectionDiscoveryHandler = handler;x.IntrospectionBackChannelHandler = handler;});services.AddMvc(); }

這里需要注意的一點是handler,Ids4竟然在參數里面有handler的參數,這樣我們接入微服務里面的服務發現簡直太easy了。同時這里也給大家一個啟發,我們再做第三方接口的時候,一定要參數齊全,哪怕這個參數并不會被大多數情況下使用,如果Ids4沒提供這個參數,那么我就需要重寫一套驗證邏輯了。

ValuesController.cs

添加4個接口,針對不同的角色用戶

[Route("/")]
public class ValuesController : Controller{ ? ?// admin role
?[HttpGet("admin")] ?
??[Authorize(Roles = "admin")]
???public IActionResult Get1() ? ?{ ? ? ?
??? ?var userId = User.Claims.FirstOrDefault(x => x.Type == "sub")?.Value; ? ? ? ?
??? ?var role = User.Claims.FirstOrDefault(x => x.Type == "role")?.Value; ? ? ?
??? ??return Ok(new { userId, role });} ? ?
??? ??// normal role[HttpGet("normal")][Authorize(Roles = "normal")] ?
??? ?public IActionResult Get2() ? ?{ ? ?
??? ? ? ?var userId = User.Claims.FirstOrDefault(x => x.Type == "sub")?.Value; ? ? ?
??? ? ? ? ?return Ok(new { role = "normal", userId = userId });} ?
??? ? ? ? ??// any role[HttpGet("any")][Authorize] ?
??? ?public IActionResult Get3() ? ?{ ? ?
??? ? ? ?var userId = User.Claims.FirstOrDefault(x => x.Type == "sub")?.Value; ? ? ?
??? ? ? ??return Ok(new { role = "any", userId = userId });} ?
???// Anonymous[HttpGet][AllowAnonymous] ?
????public IActionResult Get() ? ?{ ?
????? ? ?return Ok(new { role = "allowAnonymous" });} }

演示部分

JWT

分別運行這個5個應用程序,訪問http://localhost:5000

如圖表示,全部運行成功。
通過postman模擬用戶登錄,通過api網關地址訪問。
url:http://localhost:5555/user/login
method:post
requestBody:
{
"name":"leo",
"password":"123456"
}

拿到token后,我們再訪問訂單中心的地址。
url:http://locahost:5555/order/admin
mothod:get
header: Authorization:bearer token(bearer和token中間有一個空格)

成功返回userId和role信息
我們隨意修改一下token的字符串再訪問,會返回401,認證不會通過。

這里需要注意的是zuul默認不支持header的傳遞,需要在網關服務里面增加一個配置zuul.sensitive-headers=true

這個時候我們修改url地址http://locahost:5555/order/normal

返回了403表示這個接口沒有權限
再修改地址訪問http://locahost:5555/order/any

這個接口只要授權用戶都可以訪問。
最后這個接口http://locahost:5555/order就比較容易理解是一個匿名用戶都可以訪問的接口不用做身份驗證,我們去掉header信息

我們可以再試試另一個用戶mickey/123456試試,篇幅有限,這里就不再做描述了,mickey這個用戶擁有http://locahost:5555/order/normal這個接口的訪問權限。

Reference

切換一下配置文件,來支持reference,修改User項目的appsettings.json文件

"IdentityServer": { ? ?//"ClientId": "client.jwt", ? ?//"ClientSecrets": "AB2DC090-0125-4FB8-902A-34AFB64B7D9B", ? ?"ClientId": "client.reference", ? ?"ClientSecrets": "A30E6E57-086C-43BE-AF79-67ADECDA0A5B"}

重新運行程序
通過postman模擬用戶登錄,通過api網關地址訪問。
url:http://localhost:5555/user/login
method:post
requestBody:
{
"name":"leo",
"password":"123456"
}


我們可以看到accessToken和JWT的完全不一樣,很短的一個字符串,這個時候我們打開redis客戶端可以找個這個信息

用戶信息是保存在了redis里面。這里的key是通過加密的方式生成的。
拿到token后,我們再訪問訂單中心的地址。
url:http://locahost:5555/order/admin
mothod:get
header: Authorization:bearer token

驗證成功,后面的幾個接口和上面一樣,同學們自己來演示。

后記

通過上面的例子,我們把整個授權認證流程都走了一遍(JWT和Reference),通過Postman來模擬客戶端的請求,Ids4的東西實在是太多,我沒辦法在這里寫的太全,大家可以參考一下園子里面關于Ids4的文章。這篇文章例子比較多,強烈建議大家先下載代碼,跟著博客的流程走一次,然后自己再按照步驟寫一遍,這樣才能加深理解。順便給自己打個廣告,筆者目前正在考慮新的工作機會,如果貴公司需要使用.NET core來搭建微服務平臺,我想我非常合適。我的郵箱240226543@qq.com。

關于授權認證部分大家可以看看園子里面雨夜朦朧的博客,他通過源代碼分析寫的非常透徹。

示例代碼

所有代碼均上傳github。代碼按照章節的順序上傳,例如第一章demo1,第二章demo2以此類推。
求推薦,你們的支持是我寫作最大的動力,我的QQ群:328438252,交流微服務。

相關文章:

  • 手把手教你使用spring cloud+dotnet core搭建微服務架構:服務治理(-)

  • spring cloud+dotnet core搭建微服務架構:服務發現(二)

  • spring cloud+dotnet core搭建微服務架構:Api網關(三)

  • 微服務~Eureka實現的服務注冊與發現及服務之間的調用

  • spring cloud+dotnet core搭建微服務架構:配置中心(四)

原文地址:http://www.cnblogs.com/longxianghui/p/7800316.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的spring cloud+.net core搭建微服务架构:Api授权认证(六)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

夜夜婷婷 | 欧美日韩网站 | 亚洲成人网在线 | 欧美a在线免费观看 | 国产视频中文字幕在线观看 | 自拍超碰在线 | 色av男人的天堂免费在线 | 99在线观看视频网站 | 免费看片网页 | 欧美午夜视频在线 | 欧美天天综合 | 欧美日韩一区二区视频在线观看 | 久久成人高清 | 狠狠狠狠狠色综合 | 在线成人看片 | 欧美精品中文字幕亚洲专区 | 亚洲国产日韩欧美 | 97成人精品视频在线观看 | 日韩aⅴ视频 | 一区二区三区免费播放 | 四虎5151久久欧美毛片 | 亚洲高清免费在线 | 91亚洲精品久久久中文字幕 | 亚洲色视频 | 国产美女精品视频免费观看 | 成人av免费在线看 | 成 人 a v天堂 | 精品久操 | 久久特级毛片 | 国产黄免费在线观看 | 狠狠色丁香婷婷综合久小说久 | 国产精品美女毛片真酒店 | 蜜臀久久99精品久久久无需会员 | 美女福利视频 | 久久精品一区二区三区视频 | 日本成人免费在线观看 | 九九热久久久 | 亚洲女欲精品久久久久久久18 | 国产一区二区三区在线免费观看 | 久久久香蕉视频 | 麻豆一区二区 | av免费高清观看 | 在线观看视频国产 | 免费手机黄色网址 | 免费观看黄 | 国产福利免费看 | 97人人模人人爽人人喊中文字 | 亚洲欧美日韩在线一区二区 | 最近免费中文视频 | 999久久久久久久久久久 | 亚洲欧美在线观看视频 | www.天天射.com | 黄色软件在线观看 | 五月精品| 成 人 黄 色 视频播放1 | 成人小视频在线观看免费 | 97超碰在线视| 婷婷 综合 色 | 日本一区二区三区免费观看 | www夜夜| 国产精品免费观看久久 | 中文字幕一区二区三区久久蜜桃 | 91在线视频免费 | 日日干网 | 久久久久夜色 | 久久久久久亚洲精品 | 精品国产综合区久久久久久 | 97人人超碰在线 | 国产免费观看av | 91色蜜桃 | 日韩一区二区久久 | 久久免费成人精品视频 | 国产精品免费视频一区二区 | 在线看片一区 | 久久久久久久久久久久av | 欧美日韩破处 | 美女视频免费一区二区 | www毛片com| 成人羞羞视频在线观看免费 | 日本在线观看中文字幕 | 国产亚洲精品bv在线观看 | 国产成人精品久久久久 | 久久久久免费观看 | 91在线国产观看 | 91免费网址| 在线免费观看黄色小说 | 久久免费成人 | 九九热免费在线观看 | 九九九九九九精品任你躁 | 欧美精品乱码99久久影院 | 日本久久中文字幕 | 亚洲成aⅴ人片久久青草影院 | 最新免费av在线 | 激情视频免费观看 | 亚洲无人区小视频 | 国产精品视频免费在线观看 | 国产精品k频道 | 国产亚洲一区二区在线观看 | 国产成人精品久久久 | 三级免费黄 | 国产精品乱码久久久久久1区2区 | 99性视频| 久久r精品 | 狠狠干网| 久久久久女人精品毛片九一 | 色综合天天色综合 | 狠狠色噜噜狠狠狠合久 | 免费看片在线观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成人黄色小说在线观看 | 成人av动漫在线 | 天天干 夜夜操 | 中文字幕在线日本 | 日韩欧美专区 | 美女在线观看网站 | 久久观看免费视频 | 亚洲.www| 欧美午夜一区二区福利视频 | 日本少妇高清做爰视频 | 日韩资源在线 | 国产不卡在线播放 | 在线综合 亚洲 欧美在线视频 | 99在线高清视频在线播放 | 狠狠色丁香久久婷婷综合五月 | 伊人国产在线播放 | 成人夜晚看av| 狠狠干在线 | 日韩理论电影网 | 亚洲精品免费在线观看视频 | 日本乱码在线 | 成人午夜精品久久久久久久3d | 久久精品国产精品亚洲 | 精品亚洲视频在线观看 | 美女精品网站 | 99在线视频精品 | 日韩在线首页 | 国产色一区 | 日韩网站在线免费观看 | www中文在线 | 成人毛片久久 | 国产亚洲小视频 | 欧美一级片在线免费观看 | 婷婷精品国产一区二区三区日韩 | 手机在线观看国产精品 | 久草综合在线观看 | 色综合久久精品 | 欧美一二三四在线 | 国产在线观看午夜 | 色干综合| 精品超碰 | 亚洲免费成人 | 国产一区二区三区在线 | 国产麻豆精品免费视频 | 中文字幕在线看片 | 国产成人一区二区三区久久精品 | 日韩二区在线播放 | av手机在线播放 | 特级西西www44高清大胆图片 | 婷婷久久一区二区三区 | 久久国产精品一二三区 | 丝袜制服天堂 | 一本一道久久a久久精品 | 九九热免费在线视频 | 天堂av色婷婷一区二区三区 | 免费又黄又爽视频 | 日韩电影在线观看一区二区三区 | 最新久久免费视频 | 免费看污污视频的网站 | 久久美女精品 | 国产高清视频 | 免费观看的黄色片 | 亚洲区色| 66av99精品福利视频在线 | 久久久久久久久久久黄色 | 开心婷婷色 | 日韩av电影中文字幕在线观看 | 免费av成人在线 | 亚洲精品综合在线 | 成年人国产在线观看 | 日韩在线电影观看 | 亚洲国产中文字幕在线 | 丰满少妇一级片 | 亚洲高清视频在线播放 | 成人av高清在线观看 | 亚洲精品激情 | 国产成人精品综合久久久久99 | 天天操天天射天天爱 | 国产无套精品久久久久久 | 色午夜 | 色婷婷激情电影 | 亚洲国产成人精品久久 | 国产午夜麻豆影院在线观看 | 日本久久免费视频 | 中文字幕在线观看三区 | 成人a在线观看 | 亚洲视频在线播放 | 国产亚州精品视频 | 国产成人精品一区二区三区在线观看 | 99热这里只有精品久久 | 中文字幕丝袜 | 久久不射电影院 | 黄色三几片 | 又色又爽又激情的59视频 | 91精品久久久久久久久 | 国产精品一区二区三区在线 | 欧美一区成人 | 久久久久久免费毛片精品 | 一级欧美黄 | 性色av一区二区三区在线观看 | 久久久久久国产精品亚洲78 | 亚洲视频 中文字幕 | www.天天射.com| 免费a视频| 国产精品免费视频观看 | 国产人免费人成免费视频 | 中文字幕一区二区在线观看 | 黄色99视频 | 中文字幕九九 | 久久精品视频国产 | 五月天婷婷免费视频 | 久久精品欧美视频 | 在线观看亚洲成人 | 一区二区欧美激情 | 国产操在线 | 99色免费 | 中文免费 | 欧美一级专区免费大片 | 国产 一区二区三区 在线 | www.xxxx欧美| 91九色在线观看 | 999久久久久 | 狠狠黄| 国产福利精品视频 | 欧美日韩在线精品一区二区 | 国产在线更新 | 一区二区三区在线视频111 | 中文字幕一区二区三区在线播放 | 国产精品永久在线观看 | 中文字幕免费成人 | 亚洲一级免费观看 | 高清国产午夜精品久久久久久 | 国产区精品在线观看 | 亚洲午夜激情网 | 欧洲色吧 | 亚洲色图 校园春色 | 人人要人人澡人人爽人人dvd | 97碰碰精品嫩模在线播放 | 97国产精品一区二区 | 五月综合在线观看 | 麻豆久久久久久久 | 婷婷中文字幕综合 | av资源在线看 | 精品国产免费一区二区三区五区 | av大片免费在线观看 | 欧美日韩在线观看不卡 | 久久视频国产精品免费视频在线 | 国内成人精品2018免费看 | 中文字幕在线观看完整版 | 在线观影网站 | www激情久久 | 国产美女网 | 久久久久一区二区三区 | 伊人官网 | 久久人人爽爽人人爽人人片av | 亚洲 欧美日韩 国产 中文 | 欧美a在线免费观看 | 国产精品久久久久久久久久不蜜月 | 久久视频中文字幕 | 欧美日韩国产mv | 天天操天天干天天摸 | 韩国在线一区 | 亚洲91在线 | 国产精品久久在线 | 首页国产精品 | 国产精品系列在线观看 | 狠狠色丁香婷综合久久 | 天天射天天干天天 | 日本大片免费观看在线 | 成片免费观看视频大全 | av+在线播放在线播放 | 亚洲综合视频在线 | 欧美久久久久久久久久久久久 | 日日干天天 | 久久久精品国产一区二区三区 | 六月婷婷久香在线视频 | 伊人久久精品久久亚洲一区 | 久久成人国产精品一区二区 | 色视频在线免费观看 | 精品少妇一区二区三区在线 | 久久久久久国产精品免费 | 2021av在线| 日韩在线高清免费视频 | 久久成人在线 | 国产99亚洲 | 成人精品久久久 | 91传媒免费观看 | 中文字幕亚洲字幕 | 日产乱码一二三区别在线 | 日韩丝袜 | 国产四虎影院 | 国产亚洲视频中文字幕视频 | av在线成人 | 亚洲另类xxxx| 波多野结衣视频一区二区三区 | 欧美日韩精品影院 | 成人a视频 | 爱爱一区 | 精品久久久网 | 欧美片网站yy | 五月婷婷毛片 | 国内小视频 | 天堂av在线免费 | 在线va网站 | 久久精品免费观看 | 久久一二三四 | 91精品成人 | 午夜骚影 | 亚洲乱码在线 | 亚洲国产精品影院 | 婷婷开心久久网 | 精品国产乱码一区二区三区在线 | 婷婷网在线 | 日韩高清在线一区 | 亚洲国产精品成人精品 | 亚洲免费小视频 | 日b黄色片 | 欧美国产在线看 | 免费高清在线观看电视网站 | 国产精品99精品久久免费 | 成人一级 | 国产色视频一区二区三区qq号 | 日韩理论影院 | 黄色免费网站下载 | 人人射人人澡 | 久久精品一区二区三区四区 | 亚洲五月激情 | 久久热亚洲 | 日日操日日 | 欧美极品xxxx | 日韩电影中文,亚洲精品乱码 | 欧美成亚洲 | 在线国产一区 | 午夜视频在线观看一区二区 | 男女激情片在线观看 | 国产精品久久久久久久久久久久冷 | 六月久久婷婷 | 免费在线91 | 亚洲精品在线播放视频 | 91视频高清 | 亚洲婷婷在线视频 | 视频一区久久 | 911香蕉 | 色婷婷骚婷婷 | 999久久| 99免在线观看免费视频高清 | 日日草夜夜操 | 99视频在线观看免费 | 不卡av在线免费观看 | 日韩乱色精品一区二区 | 国产精品系列在线 | 91丨九色丨国产在线 | 中文字幕大全 | 国产一级免费播放 | 中文字幕中文字幕 | 日日爽视频 | 国际精品久久久 | 亚洲欧美日韩中文在线 | 日韩在线观看视频一区二区三区 | 狠狠狠色| 免费在线激情视频 | 欧美一级免费 | 中文字幕在线观看视频一区二区三区 | 久久综合导航 | 91在线视频一区 | 91中文在线 | 国产黄大片 | 91成人小视频 | 欧美日韩一级久久久久久免费看 | 91av在线看 | 国产色拍拍拍拍在线精品 | 99久久精品免费一区 | 91日韩在线视频 | 欧美日韩国产精品久久 | 毛片永久免费 | 久久精品牌麻豆国产大山 | 日韩午夜剧场 | 久久人网| 精品国产aⅴ一区二区三区 在线直播av | 午夜精品久久久久99热app | 国产精品免费观看在线 | 国产在线播放不卡 | 天天综合网在线观看 | 射射射av| 99久久综合狠狠综合久久 | 免费午夜在线视频 | 日韩3区| 婷婷色伊人 | 久草| 91精品国自产在线 | 在线成人免费av | 欧美a√在线 | 91在线免费视频 | 国产韩国日本高清视频 | 精品国产乱码久久久久久浪潮 | 99色在线| 日韩中文在线观看 | 免费看片网站91 | 免费视频a | 国产在线精品区 | 日韩大片免费在线观看 | 中文字幕在线国产 | 欧美日韩在线看 | 国产黄色观看 | 亚洲成人精品久久 | 免费观看国产精品 | 久久人人爽人人爽人人片av软件 | 国产成人99久久亚洲综合精品 | 最新国产中文字幕 | 日产av在线播放 | 在线国产精品视频 | 成人免费影院 | 91av超碰| 国产亚洲精品免费 | 日韩中文字幕a | 97视频在线观看播放 | 三级黄色理论片 | 在线观看一级视频 | 国产91对白在线 | 国产午夜精品久久久久久久久久 | 国产剧情av在线播放 | 国产一区二区三区在线免费观看 | 久草在线视频网 | 美女视频黄频大全免费 | 国语精品视频 | 久久婷婷一区二区三区 | 综合天天久久 | 四虎欧美| 亚洲欧美在线视频免费 | 久久精品视频在线观看免费 | 美女视频黄免费的 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 久久久视屏 | 欧美视频国产视频 | 亚洲第一区在线观看 | 欧美精品久久天天躁 | 日日夜夜噜噜噜 | 欧美精品在线观看免费 | 丰满少妇一级片 | 欧美成人高清 | 天天综合操 | 激情网婷婷 | 欧美性猛片, | 国产精品久久久久久久电影 | av福利免费| 久操伊人| 96精品视频| 欧美性色综合网站 | 激情小说网站亚洲综合网 | 特级黄色视频毛片 | 狠狠躁日日躁夜夜躁av | 成+人+色综合 | 国产精品一区二区免费看 | 日韩欧美视频一区二区 | 亚洲一区二区三区四区在线视频 | 欧美精品一区在线 | 天天操天天操天天操天天 | 久久艹99 | 日韩高清av | 在线视频99 | 96香蕉视频 | 美女网站在线看 | 丁香婷婷综合色啪 | 丁香五婷 | 在线天堂中文在线资源网 | 午夜精品一区二区三区在线 | 91在线观看高清 | 成人毛片a | 国产欧美久久久精品影院 | av网址aaa | 手机av观看 | 久久不见久久见免费影院 | 国产精品久久久久久69 | 国产精品9999 | 亚洲一区二区黄色 | 欧美日韩伦理在线 | 特级西西www44高清大胆图片 | 日韩午夜一级片 | 午夜av在线电影 | 91免费版在线 | 最新色视频 | 在线观看日韩专区 | 精品国产一区二区三区久久 | 成年人视频在线 | 免费视频91蜜桃 | 日日干视频 | 热久久免费视频精品 | 91系列在线观看 | 在线观看 亚洲 | 久久精品这里都是精品 | 欧美成人精品欧美一级乱黄 | 中文字幕在线观看视频一区 | 亚洲 成人 欧美 | 国产日产亚洲精华av | av黄色在线观看 | 国产一级黄色片免费看 | 五月天电影免费在线观看一区 | 久久久www成人免费精品 | 在线看污网站 | 91麻豆文化传媒在线观看 | 国产一区在线视频播放 | 久久精品中文字幕少妇 | 日韩精品在线看 | 天天干,天天插 | 在线91视频 | 91天天操| 亚州精品国产 | 亚洲精品久久久蜜桃 | 欧美日韩免费观看一区二区三区 | 激情五月网站 | 亚洲精品久久久久中文字幕m男 | 天天曰天天爽 | 久草在线资源视频 | 欧美精品一区二区在线观看 | 狠狠干成人 | 欧美精品一区二区在线观看 | 欧美一级视频免费 | 国产成人一区二区在线观看 | 国产精品美女久久久网av | 日韩天天综合 | 日韩丝袜 | 婷婷丁香国产 | 操综合 | 97av在线 | 韩国av电影在线观看 | 欧美日韩国产亚洲乱码字幕 | 久久91久久久久麻豆精品 | 国产麻豆果冻传媒在线观看 | 国内精品视频在线播放 | 国产精品免费一区二区三区 | 黄色福利 | 91大神在线观看视频 | 日日麻批40分钟视频免费观看 | 国产99久久精品 | 蜜桃传媒一区二区 | 色噜噜狠狠狠狠色综合久不 | 日韩免费福利 | 国产色在线观看 | 久久精品99视频 | 久久久精品成人 | 久久福利综合 | av高清免费在线 | 激情影音 | 亚洲天堂香蕉 | 人人爱天天操 | 欧美日本不卡 | 亚州精品视频 | 国产亚洲成av片在线观看 | 国产一级视频 | 精品免费一区 | 一区二区三区四区在线免费观看 | 日本aa在线 | 久草.com | 久久久综合色 | 日韩综合一区二区 | 日韩av中文在线观看 | 在线观看一区 | 四虎最新域名 | 黄色软件在线观看视频 | 久草在线高清视频 | 成人免费网视频 | 国产欧美日韩视频 | 久草在线资源免费 | 97av免费视频| 天天看天天干 | 在线观看深夜福利 | 久久久噜噜噜久久久 | 色狠狠操 | 亚洲综合狠狠干 | 激情大尺度视频 | 国产精品电影一区 | 99视频免费观看 | 韩国一区二区三区视频 | 亚洲三级精品 | 成人毛片在线观看视频 | 国产精品一区二区三区四 | 国产在线播放观看 | 日韩免费在线一区 | 国产精品 日本 | 久久精品亚洲精品国产欧美 | 亚洲女人天堂成人av在线 | 综合铜03 | 亚洲激情免费 | 久久国产精品一区二区三区 | av网站免费线看精品 | 国产精品久久久免费看 | 99热精品久久 | 99热.com| 成人a级大片 | 日本高清免费中文字幕 | 国产精品成人国产乱 | 欧美黄污视频 | 亚洲国产精品500在线观看 | 久久久久亚洲精品国产 | 伊人色**天天综合婷婷 | 中文字幕视频播放 | 97操碰| 精品一区二区亚洲 | 精品视频免费播放 | 五月天中文字幕mv在线 | 久久精品综合 | 在线免费av播放 | 婷婷丁香花五月天 | 天天操导航 | 日韩电影中文字幕在线观看 | 精品久久1 | 韩国精品在线观看 | 在线观看a视频 | 亚洲国产无 | 91精品一区二区三区久久久久久 | 亚洲性xxxx | 欧美日韩国产亚洲乱码字幕 | 91精品老司机久久一区啪 | 丁香激情视频 | 色婷婷88av视频一二三区 | 国产精品久久网 | 综合av在线 | 日韩美女免费线视频 | 亚洲人成在线电影 | 精品国产一区二区在线 | 嫩草av在线| 国产视频在线播放 | 精品高清美女精品国产区 | 日韩69av | 综合久久一本 | 欧美国产日韩一区二区三区 | 最近中文字幕视频完整版 | 黄污网 | 久久人人爽人人 | 9ⅰ精品久久久久久久久中文字幕 | 国产一区二区在线免费播放 | 欧美日韩国产一区 | 999在线精品 | 国产永久网站 | av在线免费网站 | 成人四虎 | 精品国产免费久久 | 欧洲一区二区三区精品 | 久久影院午夜论 | 91免费视频国产 | 四虎影视国产精品免费久久 | 在线观看亚洲精品视频 | 在线观看一区二区视频 | 黄色软件大全网站 | 在线观看亚洲专区 | 精品免费久久久久 | 韩国av免费 | 免费视频xnxx com | 一区精品在线 | 婷婷综合激情 | 99精品国产免费久久 | 免费看的黄网站软件 | 久久久精品久久日韩一区综合 | 国产色啪| 久久国产美女视频 | 国产精品久久久久久99 | 色干干 | 久草五月 | 97视频入口免费观看 | 国产精品久久久久婷婷 | 天天操天天射天天 | 日韩电影在线观看一区 | 81国产精品久久久久久久久久 | 免费视频97 | 成年人免费看片网站 | 人人插人人做 | 草久中文字幕 | 在线观看理论 | 日韩视频精品在线 | 国内成人精品2018免费看 | 激情视频免费在线观看 | 日本黄色免费在线观看 | 国产成人三级在线播放 | 亚洲激情在线视频 | 蜜臀av在线一区二区三区 | 国产夫妻自拍av | 久久久久国产成人免费精品免费 | 亚洲精品小视频在线观看 | 色综合天天视频在线观看 | 操高跟美女 | 久久久久久久久国产 | 国产精品亚洲成人 | 久久久影院一区二区三区 | 精选久久| 国产精品毛片久久 | 日韩欧美不卡 | 精品国产欧美一区二区 | 国内精品99 | 久久精品中文字幕少妇 | 国产韩国日本高清视频 | www.狠狠色 | 国产三级香港三韩国三级 | 色噜噜狠狠狠狠色综合久不 | 伊人资源站 | 欧美韩日精品 | 欧美永久视频 | 亚洲激情综合 | 欧美最新大片在线看 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | a久久久久久 | 国产精品第10页 | 久久久国产精品一区二区三区 | 国产亚洲视频系列 | а天堂中文最新一区二区三区 | 日产乱码一二三区别在线 | 毛片网在线观看 | 亚洲精品中文在线资源 | 国产一级二级三级在线观看 | 亚洲影视资源 | 久久久久综合精品福利啪啪 | 国产一二三四在线视频 | 尤物九九久久国产精品的分类 | 精品视频久久久久久 | 婷婷婷国产在线视频 | 91精品国产亚洲 | 色综合天天射 | 99精品热视频只有精品10 | 久草99| 国产亚洲精品成人 | 在线观看av麻豆 | 日韩电影中文字幕 | 日本久久久精品视频 | 欧美午夜剧场 | av大全在线免费观看 | 成人一区二区三区中文字幕 | 91麻豆产精品久久久久久 | 麻豆视频免费在线 | av电影久久| 丰满少妇一级片 | 黄色av播放 | 日韩一级网站 | 国产精品视频永久免费播放 | 国产亚洲视频系列 | 日日干网 | 久久久电影 | 日韩午夜大片 | 亚洲精区二区三区四区麻豆 | 天天色宗合 | 成人一区影院 | 国产精品高潮呻吟久久av无 | 玖玖爱国产在线 | 精品99999 | 99国产在线 | 久久久久久97三级 | 99九九99九九九视频精品 | av在线播放中文字幕 | 久久精品com| 国产不卡毛片 | 国产福利一区二区三区在线观看 | 日韩精品在线观看视频 | 日韩有码在线播放 | 日韩中文字幕免费在线观看 | 国产黄色在线看 | www.com操| 91高清免费观看 | 色黄久久久久久 | 91精彩视频 | 黄色片网站 | 中国一级片在线观看 | 人人天天夜夜 | 亚洲高清免费在线 | 久久久久国产精品免费免费搜索 | 国产精品一区一区三区 | 色婷婷综合视频在线观看 | 2021国产精品 | 国产一区二区手机在线观看 | 亚洲天堂网在线视频 | av在线一 | 国产一区高清在线 | 六月色| 国产成人亚洲在线观看 | 亚洲综合视频在线播放 | 国产一区二区三区久久久 | 欧美日韩在线网站 | 91精品国自产在线偷拍蜜桃 | 在线观看中文字幕亚洲 | 国产精品岛国久久久久久久久红粉 | 日韩国产精品久久 | 九九免费在线看完整版 | 欧美一区二区三区不卡 | 狠狠的日日 | 国产精品免费观看网站 | 亚洲视频电影在线 | 国产精品精品国产 | 欧美一区在线观看视频 | 日韩二区三区在线观看 | 国产精品福利视频 | 色噜噜狠狠色综合中国 | x99av成人免费 | 国产精品美女久久久久久久久 | 日日夜日日干 | 亚洲禁18久人片 | 亚洲精品国产精品国自产观看浪潮 | 欧美有色 | 91视频a| 视色网站| 久久久亚洲麻豆日韩精品一区三区 | 久久精品视频在线看 | 中文字幕超清在线免费 | 日韩精品在线播放 | 免费看片黄色 | 国产欧美最新羞羞视频在线观看 | 四虎免费在线观看 | 精品 一区 在线 | 成人免费亚洲 | 91成年人视频 | 久久福利综合 | 91av成人| 在线观看www91 | 亚洲黄色一级视频 | 天天爽人人爽夜夜爽 | 亚洲精品在线观看中文字幕 | 四虎永久视频 | 国产精美视频 | 亚洲桃花综合 | 日韩精品观看 | 一区二区三区国产欧美 | 欧美日韩在线观看一区二区三区 | 色网站在线观看 | 久久国产露脸精品国产 | 国产中文字幕一区 | 在线观看日本高清mv视频 | 国产一级片免费视频 | 国产精品毛片久久久久久久久久99999999 | 久久成人免费电影 | 欧美精品视 | 久久亚洲福利视频 | 亚洲成人资源网 | 亚洲成人在线免费 | 91丨九色丨国产在线观看 | 你操综合 | 黄色免费高清视频 | 免费又黄又爽的视频 | 国产精品日韩久久久久 | 久久综合五月 | 在线观看av小说 | 亚一亚二国产专区 | 日韩精品中文字幕在线 | 色综合咪咪久久网 | 插综合网 | 久草精品网 | 日本久久成人中文字幕电影 | 日韩视频在线不卡 | 欧美性视频网站 | 国产精品福利小视频 | 久久午夜网 | 国产精品欧美日韩在线观看 | 亚洲影院一区 | 亚洲最新av在线网站 | 在线观看免费一区 | 国产精品视屏 | 91精品国自产在线偷拍蜜桃 | 欧美最新大片在线看 | 精品国内 | 日韩免费精品 | a在线观看视频 | 欧美日韩破处 | 精品国产伦一区二区三区 | 五月婷婷六月综合 | 天天综合网天天 | 国产午夜精品一区二区三区 | 国产成人精品免高潮在线观看 | 欧美五月婷婷 | 久久久久久97三级 | 激情婷婷亚洲 | 狠狠干成人 | 国产午夜精品一区二区三区四区 | 免费成人短视频 | 中文字幕高清免费日韩视频在线 | www日韩在线观看 | 99爱在线| 亚洲欧美日本一区二区三区 | 日本成人黄色片 | 欧美一级片免费在线观看 | 亚洲资源一区 | 综合久久久久久久久 | 精品亚洲va在线va天堂资源站 | 亚洲成a人片77777kkkk1在线观看 | 欧美黄在线 | 亚洲欧美va | 国产一级二级在线播放 | 久久免费福利视频 | 国内精品久久久久久久久久 | 欧美性脚交 | 超碰97人人爱 | 免费国产一区二区 | 精品国产一区二区三区蜜臀 | 在线激情小视频 | 91亚洲网 | 久艹在线免费观看 | 中文字幕在线观看视频网站 | 91日韩在线播放 | 五月激情丁香图片 | 亚洲精品高清一区二区三区四区 | 天天操天天摸天天爽 | 精品国产乱码一区二区三区在线 | 免费美女久久99 | 久久国语 | av免费在线观看网站 | 中文字幕亚洲精品日韩 | 欧美成人日韩 | 国产麻豆电影在线观看 | 亚洲va欧美va人人爽春色影视 | 中文字幕成人在线 | 草久久av| 日本mv大片欧洲mv大片 | 99r在线精品 | 缴情综合网五月天 | 亚洲视频一区二区三区在线观看 | 亚洲视频一区二区三区在线观看 | 亚洲一区精品二人人爽久久 | 青青草国产在线 | 国产精品一区二区三区在线 | www.天天色| 91中文在线| 国产精品久久久久久影院 | av在线播放国产 | 夜夜躁狠狠躁日日躁视频黑人 | 片网站| 黄a在线看 | 国产一级特黄毛片在线毛片 | 午夜三级大片 | 国产二级视频 | 欧美日韩高清国产 | 久久人91精品久久久久久不卡 | 国产精品午夜在线 | 五月天亚洲婷婷 | 91福利视频免费观看 | 国产精品视频大全 | 色综合久久88色综合天天免费 | 国产免费人人看 | 96精品高清视频在线观看软件特色 | 日韩电影中文,亚洲精品乱码 | 亚洲婷婷丁香 | 国产成人一区二区在线观看 | 国产一二区精品 | 一区二区三区日韩在线 | 免费在线观看av网址 | 91禁看片 | 久草网视频在线观看 | 欧美大片第1页 | 久久久久在线视频 | 亚洲无吗视频在线 | 亚洲高清网站 | 色多视频在线观看 | 日本色小说视频 | 波多野结衣综合网 | 99色免费视频 | 九九九在线观看视频 | 99国内精品| 亚洲国产成人精品电影在线观看 | avav片| 亚洲精品小视频 | 香蕉影视app | 精品久久影院 | 日本免费久久高清视频 | 中文字幕91在线 | 天天干天天操天天干 | 成人av影院在线观看 | 草久在线观看 | 婷婷六月天在线 | 久草久草在线 | 国产美女网站在线观看 | 波多野结衣精品视频 | 久久视频免费在线观看 | 日韩久久久 | 天天色天天骑天天射 | 欧美另类sm图片 | 亚洲 欧美 日韩 综合 | 午夜精品久久 | 98精品国产自产在线观看 | 91精品导航| 在线中文字幕视频 | 天堂av观看 | 四虎成人精品永久免费av | 天天操天天干天天操天天干 | 国产精品女人久久久久久 | 久久综合给合久久狠狠色 | 国产成人精品综合 | 成年人免费看的视频 | 国产精品一区专区欧美日韩 | 国产福利91精品一区二区三区 | 91久久久久久久一区二区 | 国产精品成久久久久 | 黄色在线观看污 | 国产理论影院 | 天天操天天操天天操天天操天天操天天操 | 一级黄色片在线观看 | 99精彩视频在线观看免费 |