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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载)

發(fā)布時(shí)間:2024/9/18 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫(xiě)在前面

1.在上一篇帖子?Shiro一些補(bǔ)充?中提到過(guò)Shiro可以使用Shiro自己的Session或者自定義的Session來(lái)代替HttpSession

2.Redis/Jedis參考我寫(xiě)的?http://sgq0085.iteye.com/category/317384 一系列內(nèi)容

一. SessionDao

配置在sessionManager中,可選項(xiàng),如果不修改默認(rèn)使用MemorySessionDAO,即在本機(jī)內(nèi)存中操作。

如果想通過(guò)Redis管理Session,從這里入手。只需要實(shí)現(xiàn)類(lèi)似DAO接口的CRUD即可。

經(jīng)過(guò)1:最開(kāi)始通過(guò)繼承AbstractSessionDAO實(shí)現(xiàn),發(fā)現(xiàn)doReadSession方法調(diào)用過(guò)于頻繁,所以改為通過(guò)集成CachingSessionDAO來(lái)實(shí)現(xiàn)。

注意,本地緩存通過(guò)EhCache實(shí)現(xiàn),失效時(shí)間一定要遠(yuǎn)小于Redis失效時(shí)間,這樣本地失效后,會(huì)訪問(wèn)Redis讀取,并重新設(shè)置Redis上會(huì)話數(shù)據(jù)的過(guò)期時(shí)間。

因?yàn)镴edis API KEY和Value相同,同為String或同為byte[]為了方便擴(kuò)展下面的方法

package com.gqshao.authentication.utils;

import com.google.common.collect.Lists;

import org.apache.commons.lang3.SerializationUtils;

import org.apache.shiro.codec.Base64;

import org.apache.shiro.session.Session;

import java.io.Serializable;

import java.util.Collection;

import java.util.List;

public class SerializeUtils extends SerializationUtils {

public static String serializeToString(Serializable obj) {

try {

byte[] value = serialize(obj);

return Base64.encodeToString(value);

} catch (Exception e) {

throw new RuntimeException("serialize session error", e);

}

}

public static Session deserializeFromString(String base64) {

try {

byte[] objectData = Base64.decode(base64);

return deserialize(objectData);

} catch (Exception e) {

throw new RuntimeException("deserialize session error", e);

}

}

public static Collection deserializeFromStringController(Collection base64s) {

try {

List list = Lists.newLinkedList();

for (String base64 : base64s) {

byte[] objectData = Base64.decode(base64);

T t = deserialize(objectData);

list.add(t);

}

return list;

} catch (Exception e) {

throw new RuntimeException("deserialize session error", e);

}

}

}

我的Dao實(shí)現(xiàn),ShiroSession是我自己實(shí)現(xiàn)的,原因在后面說(shuō)明,默認(rèn)使用的是SimpleSession

package com.gqshao.authentication.dao;

import com.gqshao.authentication.session.ShiroSession;

import com.gqshao.authentication.utils.SerializeUtils;

import com.gqshao.redis.component.JedisUtils;

import org.apache.commons.lang3.StringUtils;

import org.apache.shiro.cache.Cache;

import org.apache.shiro.session.Session;

import org.apache.shiro.session.UnknownSessionException;

import org.apache.shiro.session.mgt.ValidatingSession;

import org.apache.shiro.session.mgt.eis.CachingSessionDAO;

import org.apache.shiro.subject.support.DefaultSubjectContext;

import org.apache.shiro.util.CollectionUtils;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.Transaction;

import java.io.Serializable;

import java.util.Collection;

import java.util.List;

import java.util.Set;

/**

* 針對(duì)自定義的ShiroSession的Redis CRUD操作,通過(guò)isChanged標(biāo)識(shí)符,確定是否需要調(diào)用Update方法

* 通過(guò)配置securityManager在屬性cacheManager查找從緩存中查找Session是否存在,如果找不到才調(diào)用下面方法

* Shiro內(nèi)部相應(yīng)的組件(DefaultSecurityManager)會(huì)自動(dòng)檢測(cè)相應(yīng)的對(duì)象(如Realm)是否實(shí)現(xiàn)了CacheManagerAware并自動(dòng)注入相應(yīng)的CacheManager。

*/

public class CachingShiroSessionDao extends CachingSessionDAO {

private static final Logger logger = LoggerFactory.getLogger(CachingShiroSessionDao.class);

// 保存到Redis中key的前綴 prefix+sessionId

private String prefix = "";

// 設(shè)置會(huì)話的過(guò)期時(shí)間

private int seconds = 0;

@Autowired

private JedisUtils jedisUtils;

/**

* 重寫(xiě)CachingSessionDAO中readSession方法,如果Session中沒(méi)有登陸信息就調(diào)用doReadSession方法從Redis中重讀

*/

@Override

public Session readSession(Serializable sessionId) throws UnknownSessionException {

Session session = getCachedSession(sessionId);

if (session == null

|| session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY) == null) {

session = this.doReadSession(sessionId);

if (session == null) {

throw new UnknownSessionException("There is no session with id [" + sessionId + "]");

} else {

// 緩存

cache(session, session.getId());

}

}

return session;

}

/**

* 根據(jù)會(huì)話ID獲取會(huì)話

*

* @param sessionId 會(huì)話ID

* @return ShiroSession

*/

@Override

protected Session doReadSession(Serializable sessionId) {

Session session = null;

Jedis jedis = null;

try {

jedis = jedisUtils.getResource();

String key = prefix + sessionId;

String value = jedis.get(key);

if (StringUtils.isNotBlank(value)) {

session = SerializeUtils.deserializeFromString(value);

logger.info("sessionId {} ttl {}: ", sessionId, jedis.ttl(key));

// 重置Redis中緩存過(guò)期時(shí)間

jedis.expire(key, seconds);

logger.info("sessionId {} name {} 被讀取", sessionId, session.getClass().getName());

}

} catch (Exception e) {

logger.warn("讀取Session失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

return session;

}

public Session doReadSessionWithoutExpire(Serializable sessionId) {

Session session = null;

Jedis jedis = null;

try {

jedis = jedisUtils.getResource();

String key = prefix + sessionId;

String value = jedis.get(key);

if (StringUtils.isNotBlank(value)) {

session = SerializeUtils.deserializeFromString(value);

}

} catch (Exception e) {

logger.warn("讀取Session失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

return session;

}

/**

* 如DefaultSessionManager在創(chuàng)建完session后會(huì)調(diào)用該方法;

* 如保存到關(guān)系數(shù)據(jù)庫(kù)/文件系統(tǒng)/NoSQL數(shù)據(jù)庫(kù);即可以實(shí)現(xiàn)會(huì)話的持久化;

* 返回會(huì)話ID;主要此處返回的ID.equals(session.getId());

*/

@Override

protected Serializable doCreate(Session session) {

// 創(chuàng)建一個(gè)Id并設(shè)置給Session

Serializable sessionId = this.generateSessionId(session);

assignSessionId(session, sessionId);

Jedis jedis = null;

try {

jedis = jedisUtils.getResource();

// session由Redis緩存失效決定,這里只是簡(jiǎn)單標(biāo)識(shí)

session.setTimeout(seconds);

jedis.setex(prefix + sessionId, seconds, SerializeUtils.serializeToString((ShiroSession) session));

logger.info("sessionId {} name {} 被創(chuàng)建", sessionId, session.getClass().getName());

} catch (Exception e) {

logger.warn("創(chuàng)建Session失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

return sessionId;

}

/**

* 更新會(huì)話;如更新會(huì)話最后訪問(wèn)時(shí)間/停止會(huì)話/設(shè)置超時(shí)時(shí)間/設(shè)置移除屬性等會(huì)調(diào)用

*/

@Override

protected void doUpdate(Session session) {

//如果會(huì)話過(guò)期/停止 沒(méi)必要再更新了

try {

if (session instanceof ValidatingSession && !((ValidatingSession) session).isValid()) {

return;

}

} catch (Exception e) {

logger.error("ValidatingSession error");

}

Jedis jedis = null;

try {

if (session instanceof ShiroSession) {

// 如果沒(méi)有主要字段(除lastAccessTime以外其他字段)發(fā)生改變

ShiroSession ss = (ShiroSession) session;

if (!ss.isChanged()) {

return;

}

Transaction tx = null;

try {

jedis = jedisUtils.getResource();

// 開(kāi)啟事務(wù)

tx = jedis.multi();

ss.setChanged(false);

tx.setex(prefix + session.getId(), seconds, SerializeUtils.serializeToString(ss));

logger.info("sessionId {} name {} 被更新", session.getId(), session.getClass().getName());

// 執(zhí)行事務(wù)

tx.exec();

} catch (Exception e) {

if (tx != null) {

// 取消執(zhí)行事務(wù)

tx.discard();

}

throw e;

}

} else if (session instanceof Serializable) {

jedis = jedisUtils.getResource();

jedis.setex(prefix + session.getId(), seconds, SerializeUtils.serializeToString((Serializable) session));

logger.info("sessionId {} name {} 作為非ShiroSession對(duì)象被更新, ", session.getId(), session.getClass().getName());

} else {

logger.warn("sessionId {} name {} 不能被序列化 更新失敗", session.getId(), session.getClass().getName());

}

} catch (Exception e) {

logger.warn("更新Session失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

}

/**

* 刪除會(huì)話;當(dāng)會(huì)話過(guò)期/會(huì)話停止(如用戶(hù)退出時(shí))會(huì)調(diào)用

*/

@Override

protected void doDelete(Session session) {

Jedis jedis = null;

try {

jedis = jedisUtils.getResource();

jedis.del(prefix + session.getId());

logger.debug("Session {} 被刪除", session.getId());

} catch (Exception e) {

logger.warn("修改Session失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

}

/**

* 刪除cache中緩存的Session

*/

public void uncache(Serializable sessionId) {

Session session = this.readSession(sessionId);

super.uncache(session);

logger.info("取消session {} 的緩存", sessionId);

}

/**

* 獲取當(dāng)前所有活躍用戶(hù),如果用戶(hù)量多此方法影響性能

*/

@Override

public Collection getActiveSessions() {

Jedis jedis = null;

try {

jedis = jedisUtils.getResource();

Set keys = jedis.keys(prefix + "*");

if (CollectionUtils.isEmpty(keys)) {

return null;

}

List valueList = jedis.mget(keys.toArray(new String[0]));

return SerializeUtils.deserializeFromStringController(valueList);

} catch (Exception e) {

logger.warn("統(tǒng)計(jì)Session信息失敗", e);

} finally {

jedisUtils.returnResource(jedis);

}

return null;

}

public void setPrefix(String prefix) {

this.prefix = prefix;

}

public void setSeconds(int seconds) {

this.seconds = seconds;

}

}

二.Session和SessionFactory

步驟2:經(jīng)過(guò)上面的開(kāi)發(fā)已經(jīng)可以使用的,但發(fā)現(xiàn)每次訪問(wèn)都會(huì)多次調(diào)用SessionDAO的doUpdate方法,來(lái)更新Redis上數(shù)據(jù),過(guò)來(lái)發(fā)現(xiàn)更新的字段只有LastAccessTime(最后一次訪問(wèn)時(shí)間),由于會(huì)話失效是由Redis數(shù)據(jù)過(guò)期實(shí)現(xiàn)的,這個(gè)字段意義不大,為了減少對(duì)Redis的訪問(wèn),降低網(wǎng)絡(luò)壓力,實(shí)現(xiàn)自己的Session,在SimpleSession上套一層,增加一個(gè)標(biāo)識(shí)位,如果Session除lastAccessTime意外其它字段修改,就標(biāo)識(shí)一下,只有標(biāo)識(shí)為修改的才可以通過(guò)doUpdate訪問(wèn)Redis,否則直接返回。這也是上面SessionDao中doUpdate中邏輯判斷的意義

package com.gqshao.authentication.session;

import org.apache.shiro.session.mgt.SimpleSession;

import java.io.Serializable;

import java.util.Date;

import java.util.Map;

/**

* 由于SimpleSession lastAccessTime更改后也會(huì)調(diào)用SessionDao update方法,

* 增加標(biāo)識(shí)位,如果只是更新lastAccessTime SessionDao update方法直接返回

*/

public class ShiroSession extends SimpleSession implements Serializable {

// 除lastAccessTime以外其他字段發(fā)生改變時(shí)為true

private boolean isChanged;

public ShiroSession() {

super();

this.setChanged(true);

}

public ShiroSession(String host) {

super(host);

this.setChanged(true);

}

@Override

public void setId(Serializable id) {

super.setId(id);

this.setChanged(true);

}

@Override

public void setStopTimestamp(Date stopTimestamp) {

super.setStopTimestamp(stopTimestamp);

this.setChanged(true);

}

@Override

public void setExpired(boolean expired) {

super.setExpired(expired);

this.setChanged(true);

}

@Override

public void setTimeout(long timeout) {

super.setTimeout(timeout);

this.setChanged(true);

}

@Override

public void setHost(String host) {

super.setHost(host);

this.setChanged(true);

}

@Override

public void setAttributes(Map attributes) {

super.setAttributes(attributes);

this.setChanged(true);

}

@Override

public void setAttribute(Object key, Object value) {

super.setAttribute(key, value);

this.setChanged(true);

}

@Override

public Object removeAttribute(Object key) {

this.setChanged(true);

return super.removeAttribute(key);

}

/**

* 停止

*/

@Override

public void stop() {

super.stop();

this.setChanged(true);

}

/**

* 設(shè)置過(guò)期

*/

@Override

protected void expire() {

this.stop();

this.setExpired(true);

}

public boolean isChanged() {

return isChanged;

}

public void setChanged(boolean isChanged) {

this.isChanged = isChanged;

}

@Override

public boolean equals(Object obj) {

return super.equals(obj);

}

@Override

protected boolean onEquals(SimpleSession ss) {

return super.onEquals(ss);

}

@Override

public int hashCode() {

return super.hashCode();

}

@Override

public String toString() {

return super.toString();

}

}

package com.gqshao.authentication.session;

import org.apache.shiro.session.Session;

import org.apache.shiro.session.mgt.SessionContext;

import org.apache.shiro.session.mgt.SessionFactory;

public class ShiroSessionFactory implements SessionFactory {

@Override

public Session createSession(SessionContext initData) {

ShiroSession session = new ShiroSession();

return session;

}

}

三.SessionListener

步驟3:發(fā)現(xiàn)用戶(hù)推出后,Session沒(méi)有從Redis中銷(xiāo)毀,雖然當(dāng)前重新new了一個(gè),但會(huì)對(duì)統(tǒng)計(jì)帶來(lái)干擾,通過(guò)SessionListener解決這個(gè)問(wèn)題

package com.gqshao.authentication.listener;

import com.gqshao.authentication.dao.CachingShiroSessionDao;

import org.apache.shiro.session.Session;

import org.apache.shiro.session.SessionListener;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

public class ShiroSessionListener implements SessionListener {

private static final Logger logger = LoggerFactory.getLogger(ShiroSessionListener.class);

@Autowired

private CachingShiroSessionDao sessionDao;

@Override

public void onStart(Session session) {

// 會(huì)話創(chuàng)建時(shí)觸發(fā)

logger.info("ShiroSessionListener session {} 被創(chuàng)建", session.getId());

}

@Override

public void onStop(Session session) {

sessionDao.delete(session);

// 會(huì)話被停止時(shí)觸發(fā)

logger.info("ShiroSessionListener session {} 被銷(xiāo)毀", session.getId());

}

@Override

public void onExpiration(Session session) {

sessionDao.delete(session);

//會(huì)話過(guò)期時(shí)觸發(fā)

logger.info("ShiroSessionListener session {} 過(guò)期", session.getId());

}

}

四.將賬號(hào)信息放到Session中

修改realm中AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)方法,在返回AuthenticationInfo之前添加下面的代碼,把用戶(hù)信息放到Session中

// 把賬號(hào)信息放到Session中,并更新緩存,用于會(huì)話管理

Subject subject = SecurityUtils.getSubject();

Serializable sessionId = subject.getSession().getId();

ShiroSession session = (ShiroSession) sessionDao.doReadSessionWithoutExpire(sessionId);

session.setAttribute("userId", su.getId());

session.setAttribute("loginName", su.getLoginName());

sessionDao.update(session);

五.?配置文件

xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">

Shiro安全配置

/login = authc

/logout = logout

/static/** = anon

/** = user

depends-on="lifecycleBeanPostProcessor">

maxElementsInMemory="10000"

eternal="false"

timeToLiveSeconds="60"

overflowToDisk="false"

diskPersistent="false"

diskExpiryThreadIntervalSeconds="10"

/>

六.測(cè)試會(huì)話管理

package com.gqshao.authentication.controller;

import com.gqshao.authentication.dao.CachingShiroSessionDao;

import org.apache.shiro.session.Session;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import java.io.Serializable;

import java.util.Collection;

@Controller

@RequestMapping("/session")

public class SessionController {

@Autowired

private CachingShiroSessionDao sessionDao;

@RequestMapping("/active")

@ResponseBody

public Collection getActiveSessions() {

return sessionDao.getActiveSessions();

}

@RequestMapping("/read")

@ResponseBody

public Session readSession(Serializable sessionId) {

return sessionDao.doReadSessionWithoutExpire(sessionId);

}

}

七.集群情況下的改造

1.問(wèn)題上面啟用了Redis中央緩存、EhCache本地JVM緩存,AuthorizingRealm的doGetAuthenticationInfo登陸認(rèn)證方法返回的AuthenticationInfo,默認(rèn)情況下會(huì)被保存到Session的Attribute下面兩個(gè)字段中

org.apache.shiro.subject.support.DefaultSubjectContext.PRINCIPALS_SESSION_KEY 保存 principal

org.apache.shiro.subject.support.DefaultSubjectContext.AUTHENTICATED_SESSION_KEY 保存 boolean是否登陸

然后在每次請(qǐng)求過(guò)程中,在ShiroFilter中組裝Subject時(shí),讀取Session中這兩個(gè)字段

現(xiàn)在的問(wèn)題是Session被緩存到本地JVM堆中,也就是說(shuō)服務(wù)器A登陸,無(wú)法修改服務(wù)器B的EhCache中Session屬性,導(dǎo)致服務(wù)器B沒(méi)有登陸。

處理方法有很多思路,比如重寫(xiě)CachingSessionDAO,readSession如果沒(méi)有這兩個(gè)屬性就不緩存(沒(méi)登陸就不緩存),或者cache的session沒(méi)有這兩個(gè)屬性就調(diào)用自己實(shí)現(xiàn)的doReadSession方法從Redis中重讀一下。

/**

* 重寫(xiě)CachingSessionDAO中readSession方法,如果Session中沒(méi)有登陸信息就調(diào)用doReadSession方法從Redis中重讀

*/

@Override

public Session readSession(Serializable sessionId) throws UnknownSessionException {

Session session = getCachedSession(sessionId);

if (session == null

|| session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY) == null) {

session = this.doReadSession(sessionId);

if (session == null) {

throw new UnknownSessionException("There is no session with id [" + sessionId + "]");

} else {

// 緩存

cache(session, session.getId());

}

}

return session;

}

2.如果需要保持各個(gè)服務(wù)器Session是完全同步的,可以通過(guò)Redis消息訂閱/發(fā)布功能,再調(diào)用SessionDao中實(shí)現(xiàn)了刪除Session本地緩存的方法

總結(jié)

以上是生活随笔為你收集整理的redis插件连接集群 shiro_Shiro经过Redis管理会话实现集群(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

免费看黄色大全 | 天天综合网 天天综合色 | 丁香色婷 | 天天干天天射天天爽 | 手机在线看永久av片免费 | 日韩欧在线| 国产午夜精品一区二区三区 | 毛片永久免费 | 日韩精品在线免费播放 | 国产在线观看国语版免费 | 久久热首页| 日日操天天操夜夜操 | 激情综合五月网 | 亚洲一区二区三区毛片 | 国产成人免费观看 | 91精品视频免费看 | 免费看片在线观看 | 国产亚洲精品久 | 免费av高清 | 91福利区一区二区三区 | 色婷婷电影网 | 日产av在线播放 | 婷婷六月天在线 | 久久久久久99精品 | 在线观看国产区 | av中文字幕日韩 | 欧美精品999 | 香蕉视频18 | 欧美精品久久久久久久久久白贞 | 视频直播国产精品 | 亚洲精品中文字幕在线 | 99色视频| 久久福利精品 | 亚洲一级免费观看 | 99精品免费| 免费网站在线观看成人 | 在线成人免费 | 日韩二区三区在线 | 日韩免费观看av | 99免费在线播放99久久免费 | 日日摸日日 | 超碰伊人网 | 国产成人精品一区在线 | 成人午夜电影免费在线观看 | 日韩高清dvd | 日韩欧美在线观看一区二区三区 | 国产91精品一区二区麻豆网站 | 久久久免费观看完整版 | 美女免费av| 丁香六月在线观看 | 在线网站黄 | 日日爽天天操 | 夜色在线资源 | 亚洲综合在线五月 | 天堂av免费在线 | 日韩免费看视频 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 狠狠干在线 | 在线观看精品国产 | 成年人黄色大片在线 | 在线免费试看 | 久草久热| av中文天堂| 人人藻人人澡人人爽 | 国产精品久久久99 | www.亚洲黄 | 欧美精品乱码久久久久久按摩 | 久久免费在线视频 | 久色 网| 欧美一级性生活 | 久久色中文字幕 | av电影在线观看 | 久艹视频免费观看 | 500部大龄熟乱视频使用方法 | 91精品国产麻豆 | 国产精品大尺度 | 亚洲精品国产视频 | 日本三级人妇 | 午夜黄色| 国产成免费视频 | 国产精品一区二区白浆 | 极品嫩模被强到高潮呻吟91 | 日韩精品一区二区三区在线视频 | 国产99精品在线观看 | 亚洲精品午夜一区人人爽 | 97夜夜澡人人爽人人免费 | 欧美色888| 日韩欧美国产激情在线播放 | 香蕉网站在线观看 | 91视频亚洲 | 国产成人精品av | wwwav视频| 日韩国产精品毛片 | 人人搞人人干 | 亚洲精品久 | 国产首页 | 天天色天天操天天爽 | 少妇性aaaaaaaaa视频 | 欧美日韩亚洲精品在线 | 免费成人在线观看视频 | 亚洲国产成人精品电影在线观看 | 中文字幕在线观看一区二区 | 婷婷网站天天婷婷网站 | 日本久久久久久久久久 | 黄色aaa级片 | av在线免费在线 | 婷婷5月激情5月 | www色片| 国产精品视频大全 | 天天操天天干天天干 | 日韩高清一区二区 | 精品一区二区影视 | 人人干天天干 | 视频在线观看99 | 久久九九影院 | 男女精品久久 | 国产精品 中文字幕 亚洲 欧美 | 夜添久久精品亚洲国产精品 | 在线免费高清视频 | 久久综合九色综合97婷婷女人 | 香蕉久久久久久av成人 | 久久久久久高清 | 日韩电影在线观看中文字幕 | 免费毛片一区二区三区久久久 | 中文字幕亚洲不卡 | 国产精品久久综合 | 日韩欧美在线观看一区二区三区 | 一区二区三区动漫 | 91视频在线观看免费 | 91桃色在线观看视频 | 91桃色在线播放 | 高清精品视频 | 天天操天天爽天天干 | 久久久福利 | 欧美日韩大片在线观看 | 国产精品国产亚洲精品看不卡 | 视频一区二区视频 | 午夜精品999 | 色吊丝在线永久观看最新版本 | 免费成人在线观看视频 | 91麻豆看国产在线紧急地址 | 999久久久久久 | 色久天| 中文字幕丝袜制服 | 国产一区欧美在线 | 国产精品国产三级在线专区 | 亚洲精品乱码久久久久久蜜桃91 | 一区二区中文字幕在线 | 99在线免费视频 | 免费视频久久久久久久 | 国产成人一区二区三区在线观看 | 日本一区二区三区免费观看 | 中文字幕在线免费看线人 | 超碰人人干人人 | 色综合久久久久久久久五月 | 五月天com | 久久综合狠狠综合久久狠狠色综合 | 91精品啪| 超碰免费观看 | 超碰在线天天 | 96国产在线| 国产精品区二区三区日本 | 国产v亚洲v| 九色91av | 国产精品字幕 | 涩涩网站在线 | 99色视频| 色诱亚洲精品久久久久久 | 在线视频 你懂得 | 黄色国产在线观看 | 色综合欧洲 | 欧美91在线| 久久99电影| 国产免费观看视频 | 日日碰狠狠添天天爽超碰97久久 | 免费看黄网站在线 | 久久综合久久综合这里只有精品 | 久久国产精品区 | 日本h在线播放 | 成人性生活大片 | 亚洲国产精品日韩 | 久久这里只有精品1 | 亚洲精选视频免费看 | 亚洲精品国产拍在线 | 免费在线观看一级片 | 在线免费av网站 | 国产无遮挡猛进猛出免费软件 | 国产精品k频道 | 99久视频 | 色综合色综合久久综合频道88 | a级片久久 | 色综合久久88色综合天天人守婷 | 视频二区在线 | 在线天堂v | 国产三级精品三级在线观看 | 国产最新视频在线 | 91色亚洲| 天天夜夜操 | 欧美热久久 | 中文在线a√在线 | 伊人五月在线 | 久久激情综合网 | 欧美精品亚洲二区 | 天堂久久电影网 | 视频1区2区 | 免费日韩一区二区 | 国产真实精品久久二三区 | 91精品一区二区在线观看 | 天天插综合 | 91成人蝌蚪| 激情欧美丁香 | 在线免费观看的av网站 | 98涩涩国产露脸精品国产网 | www.色婷婷| 不卡的av在线| 久久高清av| 日本精品一区二区三区在线观看 | 婷婷激情欧美 | 成年人视频在线免费观看 | 国产精品中文字幕在线观看 | 久久综合欧美精品亚洲一区 | 久久大视频 | 精品一区二区免费视频 | 顶级欧美色妇4khd | 四虎影视精品永久在线观看 | 永久免费在线 | 天天插综合 | 婷婷激情小说网 | 玖玖视频精品 | 久久久久亚洲国产精品 | 久久99热国产| 欧美精品久久久久久久免费 | 国产精品国产三级国产aⅴ9色 | 欧美日韩高清在线 | 亚洲色影爱久久精品 | 午夜成人免费影院 | 亚洲电影av在线 | 天无日天天操天天干 | 韩国av免费在线观看 | 亚洲欧洲精品视频 | 天天天操天天天干 | 午夜影视一区 | 在线看国产一区 | 色香com.| 福利一区二区 | 一区二区成人国产精品 | 不卡视频在线 | 国产婷婷久久 | 97超碰在线资源 | 久久国产热 | 亚洲第一区在线观看 | 免费在线精品视频 | 久久免费视频这里只有精品 | 黄a在线| 亚洲精品视频在线 | 亚洲女同ⅹxx女同tv | www日韩在线观看 | 天天躁日日躁狠狠躁av麻豆 | 亚洲欧洲成人 | 久久亚洲电影 | 六月久久婷婷 | 99热九九这里只有精品10 | 中文字幕黄色网 | 在线观看蜜桃视频 | 午夜av剧场 | 激情大尺度视频 | 久草99| 香蕉视频久久 | 日韩91av| 久久这里只有精品视频99 | 亚洲午夜不卡 | 欧美一级免费高清 | 亚洲欧美va| 91av影视| 一级黄色片在线观看 | 国产字幕在线看 | 五月天婷婷丁香花 | 久久久国产精品成人免费 | 九九爱免费视频在线观看 | 日韩在线国产 | 九九免费精品 | 97视频免费看| 亚洲午夜久久久久久久久 | 99久久这里有精品 | 日韩精品视频免费在线观看 | 91丨九色丨蝌蚪丨对白 | 国产精品久久久久久久久久了 | 欧美日韩国内在线 | 中文字幕在线视频一区二区三区 | 啪嗒啪嗒免费观看完整版 | 天天干天天天天 | 成年人视频在线免费播放 | 日韩一区二区免费播放 | 久久国产一区二区三区 | 欧美巨大荫蒂茸毛毛人妖 | 日韩免费网站 | 久久99久久99精品中文字幕 | 人人爽久久涩噜噜噜网站 | 就要干b | 中文字幕视频免费观看 | 天天色天天草天天射 | 美女精品在线观看 | 九九欧美 | 久久精久久精 | 免费在线一区二区 | 射射射av | 奇米影视8888 | 午夜久久 | 国产精品久久久久av | 久久久精品视频成人 | 91网在线看| 日韩r级电影在线观看 | 久久99国产精品视频 | 天天操天天操天天操天天操 | 免费看污污视频的网站 | 国产精品h在线观看 | 夜夜婷婷 | 久久久久久久久国产 | 天天草天天操 | 免费观看十分钟 | a级国产乱理论片在线观看 伊人宗合网 | 亚洲精品在线观看中文字幕 | 五月天婷婷在线观看视频 | 国产一级免费观看视频 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 久久久伊人网 | 亚洲国产偷 | 亚洲视频一区二区三区在线观看 | 欧洲一区二区三区精品 | 久久久久成人精品 | 国产精品手机在线播放 | 一区二区三区免费在线观看视频 | 蜜臀av在线一区二区三区 | 日韩在线观看三区 | 欧美做受xxx| 天天曰 | 亚洲天堂网在线观看视频 | 日韩网站中文字幕 | 精品日韩在线一区 | 99一级片 | av电影免费在线看 | 国产成人精品久 | 黄色a视频免费 | 国产精品久久久久久久久免费看 | 美女黄濒 | 黄色av一区 | 丝袜美腿在线 | 色婷婷狠狠操 | 亚洲人在线 | 中文字幕日韩一区二区三区不卡 | 少妇av片 | 欧洲一区二区三区精品 | 亚洲成 人精品 | 国产高清视频在线 | 永久免费观看视频 | 亚洲永久精品国产 | 午夜精品一区二区三区视频免费看 | 久久桃花网 | 午夜性盈盈 | 999视频网站 | 精品国产成人在线影院 | 精品a视频 | 国产蜜臀av| 久久99热久久99精品 | 高清有码中文字幕 | 久久精品91久久久久久再现 | 中文字幕在线视频免费播放 | 国产一区二区三区免费在线 | 99久久精品国产欧美主题曲 | 免费黄色网址网站 | 久久亚洲精品国产亚洲老地址 | 三级大片网站 | 在线观看aa | 国产日韩在线看 | 欧美成人久久 | 日韩电影中文字幕在线 | 黄色a视频免费 | 99热只有精品在线观看 | 香蕉色综合 | 国产视频不卡 | 中文字幕亚洲字幕 | 欧美日韩伦理一区 | 免费看黄网站在线 | 国产精品一区二区视频 | 在线看v片成人 | 亚洲精品福利视频 | 在线免费观看的av | 五月天久久综合 | 欧美国产日韩一区二区三区 | 97成人超碰 | 国产一区二区不卡在线 | 99精品电影 | 久久精品黄 | 中文十次啦 | 999国内精品永久免费视频 | 黄在线免费看 | 亚洲精品国产拍在线 | 91福利视频免费 | 五月婷婷丁香激情 | www.五月天色 | 久久人人爽人人爽人人片av免费 | a级国产乱理论片在线观看 伊人宗合网 | 欧美日韩国产综合一区二区 | 18国产精品白浆在线观看免费 | 一区二区三区在线视频观看58 | 99精品视频网站 | 亚洲国产人午在线一二区 | 免费视频一二三区 | 欧美少妇xxx | 久久影视中文字幕 | 激情亚洲综合在线 | 欧美在线一级片 | 国产在线国偷精品产拍免费yy | 国产精品乱码久久久久久1区2区 | 国产一区在线免费 | 久久久久久不卡 | 欧美精品久久久久久久亚洲调教 | 九九九视频在线 | 国产精品18久久久久久久网站 | 国产成人亚洲精品自产在线 | 婷婷激情在线 | 中文字幕精 | 日批视频在线播放 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久欧美综合 | 亚洲激情在线 | 国产污视频在线观看 | 2021国产精品 | 久草精品视频在线看网站免费 | 98超碰在线 | 偷拍区另类综合在线 | 国产福利久久 | a级国产片 | 久久中文精品视频 | 91免费的视频在线播放 | 国产成人av一区二区三区在线观看 | www.在线观看av | 99久久999久久久精玫瑰 | 国产亚洲在线 | 国产日韩欧美中文 | 99精品视频免费观看视频 | 久草视频在线免费播放 | 欧洲av不卡 | 91亚洲在线观看 | 草樱av| www五月婷婷 | 日韩免费中文 | 国产高清区 | 久久久久成 | 国产 日韩 欧美 中文 在线播放 | 亚洲精品乱码久久久久久蜜桃不爽 | 日本乱视频 | 91tv国产成人福利 | 久久超碰网 | 18av在线视频 | 三日本三级少妇三级99 | 97人人艹| 最新超碰| 成人午夜电影久久影院 | 91久色蝌蚪| 中文字幕一区二区三区视频 | 99久久精品国产一区二区成人 | 91综合久久一区二区 | 美女免费视频一区 | 欧美日韩视频在线观看一区二区 | 在线观看成年人 | 日韩在线大片 | 亚洲国产视频a | 国产一区二区成人 | 久久久久久久久久网 | 99久久精品网 | 亚洲经典在线 | 午夜12点 | 国产群p | 免费观看高清 | 国产精品白虎 | 99久久久久免费精品国产 | 伊人久久影视 | 国产免费av一区二区三区 | 亚洲九九九在线观看 | 婷婷午夜 | 亚洲 欧美 综合 在线 精品 | 91成人网在线观看 | 美女国产精品 | 蜜臀一区二区三区精品免费视频 | 亚洲在线精品 | 亚洲一级国产 | 波多野结衣在线观看一区二区三区 | 久久精品国产99国产 | 中文字幕av免费在线观看 | 免费三级黄 | 四虎影视www| 91在线视频精品 | 国产成人一区二区三区在线观看 | 99久热在线精品视频观看 | 日产中文字幕 | 在线观看播放av | 亚洲一区在线看 | 97人人模人人爽人人喊中文字 | 中文字幕第一 | 亚洲理论在线 | www.天天草| 夜夜躁日日躁狠狠久久av | 久久久网页 | 中文字幕黄色网 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产一级片直播 | 久久综合操 | 久久免费国产电影 | 欧美国产日韩一区二区三区 | 91精品啪在线观看国产线免费 | 日韩成人在线一区二区 | 免费又黄又爽视频 | 麻豆视频免费版 | 天天射天天舔天天干 | 亚洲理论在线 | 天天操天天干天天操天天干 | 九九视频免费观看视频精品 | 天天爱天天射天天干天天 | 久久九九免费 | 亚洲精品久久久久久中文传媒 | 中文字幕在线字幕中文 | 91视频链接 | 日日夜夜精品视频 | 麻豆影视在线免费观看 | 福利视频区 | 五月天六月色 | 亚洲一级免费电影 | 免费中文字幕 | 2020天天干天天操 | 国产亚洲精品久久久久秋 | 96精品在线 | 国产伦精品一区二区三区无广告 | av电影在线不卡 | 最近日本mv字幕免费观看 | 国产资源在线观看 | 性色视频在线 | 久久99热这里只有精品国产 | www黄在线 | 丁香六月婷婷开心婷婷网 | 九九视频在线播放 | 91正在播放 | 亚洲人天堂 | 99久久99视频只有精品 | 日韩欧美在线视频一区二区三区 | 国产精品青草综合久久久久99 | 天天射天天操天天干 | 97超碰在线久草超碰在线观看 | 国产精品黑丝在线观看 | 日韩精品一区二区在线 | 视频在线播放国产 | 国产精品theporn | 久久久久久激情 | 日韩va欧美va亚洲va久久 | 日本三级国产 | 国产精品久久久毛片 | 亚洲理论影院 | 久草在线电影网 | 国产免费久久精品 | 亚洲一区日韩 | 久久国产露脸精品国产 | 99视频在线精品国自产拍免费观看 | 99国产高清 | 日韩中文字幕免费视频 | 成人手机在线视频 | 中文字幕乱视频 | 92中文资源在线 | 日韩精品播放 | 午夜视频亚洲 | 国产成人a v电影 | 麻豆av一区二区三区在线观看 | 精品综合久久 | 五月婷婷在线综合 | 国产亚洲免费的视频看 | 亚洲午夜精品久久久久久久久久久久 | 久草免费在线 | 久久综合婷婷综合 | 精品福利在线 | av天天在线观看 | 欧美巨乳网 | 91桃色在线观看视频 | 欧美在线视频二区 | 国产在线日本 | 综合五月| 在线视频观看你懂的 | 人人添人人澡 | 91精品一区国产高清在线gif | 91精品国产欧美一区二区成人 | 青春草视频在线播放 | 又黄又爽的视频在线观看网站 | 午夜免费福利视频 | 区一区二在线 | 日韩激情中文字幕 | 中文字幕成人一区 | a特级毛片 | 国产美女精品在线 | 麻豆一区二区 | 国产清纯在线 | 亚洲成人国产精品 | 欧美一区二区三区不卡 | 久草在线免费在线观看 | 中文字幕色在线视频 | 国产又粗又猛又色 | 国内外成人免费在线视频 | 婷婷精品视频 | 日日摸日日添夜夜爽97 | 狠狠色丁香婷婷综合基地 | 国内精品小视频 | 久久九九免费视频 | 在线99| 国产精品不卡在线观看 | 日韩色在线观看 | 中文在线a√在线 | 欧美国产在线看 | 99精品在这里 | 日韩av电影中文字幕 | 亚洲va综合va国产va中文 | 久久久久亚洲精品成人网小说 | 亚洲一区二区视频在线 | 国产精品美女久久久久久久网站 | 亚洲精品国产片 | 久久久久久毛片精品免费不卡 | 亚洲成人网在线 | 精品1区二区 | 国产亚洲欧美日韩高清 | 奇米影视四色8888 | 五月婷婷六月丁香在线观看 | 日本一区二区不卡高清 | 亚洲一级二级三级 | 97精品久久 | 日韩在线观看 | 亚洲视屏一区 | 日本久久久久久 | 久久精品成人热国产成 | 天天操天天干天天干 | 日韩在线网址 | 黄免费网站 | 亚洲桃花综合 | 国产精品v欧美精品v日韩 | 中文字幕日韩一区二区三区不卡 | 2000xxx影视| 成人在线你懂得 | 深爱婷婷久久综合 | 亚洲禁18久人片 | 波多野结衣视频一区二区 | 日韩精品欧美精品 | 欧美日韩国产精品一区二区三区 | 久久精品九色 | 91成人天堂久久成人 | 色综合久久久久综合体 | 国产精品女主播一区二区三区 | av在线在线 | 免费看片日韩 | 久久精品成人欧美大片古装 | 久久久首页 | 欧美a级成人淫片免费看 | 国产精品久久久久久影院 | 亚洲综合婷婷 | 97视频在线观看播放 | 综合网天天 | 日韩欧美在线一区 | 国产一区二区免费在线观看 | 日韩精品久久久久久久电影99爱 | 青青草国产精品视频 | 日韩精品不卡在线 | 91精品推荐| 香蕉视频在线播放 | 玖玖视频在线 | 国产精在线 | 久久久国产影视 | 韩国精品视频在线观看 | 国产精品久久99综合免费观看尤物 | 婷婷福利影院 | 免费中午字幕无吗 | 久精品视频在线 | 97超碰人人干| 国产中文视| 亚洲精品国产综合99久久夜夜嗨 | 欧洲精品亚洲精品 | 首页av在线| 五月婷婷视频在线 | 日本黄色免费大片 | 亚洲在线激情 | 国产精品久久伊人 | 欧美日韩首页 | 国产精品午夜av | av黄色亚洲 | 国产精品亚 | 91丨porny丨九色 | 黄色av一级片 | 91黄在线看 | 黄色大片免费播放 | 欧美先锋影音 | 在线视频1卡二卡三卡 | 99精品电影 | 亚洲精品在线一区二区 | 免费看成人片 | 日本三级吹潮在线 | 日韩欧美一级二级 | 波多野结衣一区 | 国产97在线视频 | 99久久99久国产黄毛片 | 欧美一二三视频 | 成人h视频 | 久久y| 日韩精品中文字幕在线不卡尤物 | 久草在线观看资源 | 国产三级视频在线 | 日韩精品视频在线观看免费 | 日韩在线播放av | 色网影音先锋 | 日日操操操 | 欧美日韩亚洲精品在线 | 中文字幕文字幕一区二区 | 69国产精品视频免费观看 | 最近中文字幕完整视频高清1 | 日本精品视频免费 | www好男人 | 欧美国产日韩在线视频 | 国外成人在线视频网站 | 色99之美女主播在线视频 | 欧美日韩一区二区在线 | 激情视频免费在线观看 | 麻豆影视在线免费观看 | 欧美黑人性猛交 | 男女免费视频观看 | 99精品欧美一区二区三区 | 五月激情电影 | 在线看91| 久久不射电影网 | 国产成人精品久久久 | 成人午夜剧场在线观看 | 国产精品2020 | 激情五月av| 一区二区三区免费看 | 在线色吧| 国产精品观看视频 | a级国产乱理伦片在线观看 亚洲3级 | 亚洲免费国产 | 日韩欧美在线观看一区二区 | 在线观看亚洲免费视频 | 久草视频2| 亚洲精品1区2区3区 超碰成人网 | 亚洲综合最新在线 | 欧美性大战 | 日韩中文字幕亚洲一区二区va在线 | 毛片视频电影 | 在线91视频 | a天堂最新版中文在线地址 久久99久久精品国产 | 中文字幕制服丝袜av久久 | 日本黄色免费电影网站 | 91在线看视频 | 综合激情网... | 久久久久久久久久久国产精品 | 国产91免费在线观看 | 深夜国产福利 | 精品亚洲在线 | 能在线观看的日韩av | 中文字幕视频观看 | 人人爽久久涩噜噜噜网站 | 久草精品网 | 91传媒在线观看 | 88av色| 亚洲精品国产区 | 天天天天天操 | 一区二区视频电影在线观看 | 最近中文字幕高清字幕在线视频 | 91av电影 | 欧美性生交大片免网 | 右手影院亚洲欧美 | 亚洲免费观看在线视频 | 美女精品在线 | 91丨九色丨国产丨porny精品 | 中文字幕在线观看资源 | 国产成人精品三级 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产视频不卡一区 | 婷婷中文字幕综合 | 91大神dom调教在线观看 | 婷婷六月网 | 欧美日韩一区二区三区在线免费观看 | 久草国产在线 | av日韩不卡 | 久久 精品一区 | 91c网站色版视频 | 精品自拍网 | 97高清视频 | 国产精品一区二区吃奶在线观看 | 精品久久福利 | 国产精品99久久久久久武松影视 | 国产999精品久久久影片官网 | 波多野结衣动态图 | 黄色小说视频在线 | 天天综合色天天综合 | 久久人人爽人人爽人人片av软件 | 天天曰 | 97手机电影网 | 婷婷激情在线观看 | 日韩r级在线 | 国产亚洲亚洲 | 国产999精品久久久影片官网 | 午夜电影久久久 | 国产精品视频地址 | 不卡的av中文字幕 | 中文字幕在线免费看 | 亚洲精品乱码久久久久久 | 中文字幕在线视频国产 | 伊人干综合 | 国产一区二区三区四区大秀 | av软件在线观看 | 美女精品网站 | 97av视频在线| 久久久黄色免费网站 | 亚洲春色综合另类校园电影 | 日韩乱码中文字幕 | 国产黄a三级 | 99久久er热在这里只有精品15 | 精品人人人 | 国产黄色片在线免费观看 | 日韩精品亚洲专区在线观看 | 国产91勾搭技师精品 | 国产精品人人做人人爽人人添 | 成人h电影 | 337p欧美| 国产一级视频在线 | 97人人超| 日韩欧美大片免费观看 | 亚洲国产成人精品电影在线观看 | 99视频导航| 色99中文字幕 | 91av超碰 | 国产成人在线精品 | 国产一级淫片免费看 | 亚洲国产中文字幕 | 最新中文字幕 | 久插视频 | 久久永久免费视频 | 久久综合中文色婷婷 | 人人爽人人插 | 成人三级网站在线观看 | 亚洲视频免费 | 久草在线这里只有精品 | 国产婷婷色 | 干狠狠| 日韩在线观| 91免费视频黄| 日本久久久亚洲精品 | 久久精品亚洲 | 国产黄色片网站 | 日本精品一 | 亚洲视屏 | 一区二区三区国 | 国产在线中文字幕 | 国产精品久久久久亚洲影视 | 欧美a√大片 | 欧美极品少妇xbxb性爽爽视频 | 精品国产伦一区二区三区 | 在线探花| 天天操天天干天天玩 | 五月天激情视频在线观看 | 香蕉久草在线 | 中文字幕视频在线播放 | 免费成视频 | 在线免费av电影 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 丁香婷婷电影 | 国产精品久久片 | 成年人免费看片 | 久久男人视频 | 一二三区高清 | 91刺激视频 | 91在线91拍拍在线91 | 美女黄频在线观看 | 91麻豆精品国产自产 | 日韩理论电影网 | 久久免费福利视频 | www.久久色.com| 国产精品 中文字幕 亚洲 欧美 | av国产在线观看 | 亚洲一区二区三区在线看 | 伊人影院在线观看 | 狠狠干天天射 | 色婷av| 亚洲国产精品第一区二区 | 午夜视频在线观看网站 | 天天操夜 | 久久久国产精品成人免费 | 特级西西www44高清大胆图片 | 天天操天天射天天爱 | 欧美性极品xxxx做受 | 欧美一级在线看 | 国产xx在线 | 国产99久久99热这里精品5 | 在线播放 日韩专区 | avlulu久久精品 | 久久久受www免费人成 | 久久视频免费观看 | 欧美久久成人 | 国产69精品久久app免费版 | 日本在线观看一区二区三区 | 国产99色 | 色资源在线 | 久久电影日韩 | 婷婷亚洲五月色综合 | 国产aa精品 | 天天干天天碰 | 国产精品一码二码三码在线 | 日韩精品在线免费观看 | 日日夜夜婷婷 | 狠狠做深爱婷婷综合一区 | 国产精品6 | 精品一区二区在线免费观看 | 99精品视频中文字幕 | 激情久久久| 黄色在线成人 | 久久理伦片 | 日韩欧美综合在线视频 | ,午夜性刺激免费看视频 | 久久手机看片 | 久久亚洲区 | av在线免费播放 | 91麻豆精品国产91久久久无限制版 | 一区在线观看 | 视频一区视频二区在线观看 | 天天操·夜夜操 | 国产黄免费看 | av在线之家电影网站 | 日本久久久久久科技有限公司 | 毛片在线播放网址 | 久久久久久高清 | 五月婷婷在线观看视频 | 黄视频网站大全 | 天堂av官网 | 91免费高清视频 | 欧美激情精品久久久久久 | 制服丝袜一区二区 | 免费久久99精品国产婷婷六月 | 在线播放日韩av | 午夜精品电影 | 免费h漫在线观看 | 五月婷婷综合网 | 狠狠躁日日躁狂躁夜夜躁 | 免费黄色在线网址 | 久久久久久久福利 | 日韩av一区二区在线 | 精品国产一区二区在线 | 91污视频在线观看 | 狠狠婷婷| 精品国产一二区 | 999久久久久久久久6666 | 成年人在线播放视频 | 天堂在线成人 | 亚洲黄色片在线 | 五月婷在线| 五月天久久狠狠 | 色婷婷六月天 | 日韩成年视频 | 成人a级免费视频 | 国内精品国产三级国产aⅴ久 | 日韩在线字幕 | 久久99热精品这里久久精品 | 久久综合久久综合久久 | 久久精品8| 日韩激情一二三区 | 探花视频在线观看免费 | 三级在线视频播放 | 精品欧美一区二区三区久久久 | 亚洲精品欧美专区 | 国产成人精品av在线观 | www免费网站在线观看 | 在线观看精品国产 | 免费成人av | 日韩色在线 | 一区二区三区视频在线 | av日韩国产 | 美女免费网视频 | 国产在线 一区二区三区 | 天天干天天操天天搞 | 黄网站免费大全入口 | 黄色日视频| 久久久国产精品成人免费 | 中文字幕高清有码 | 久久久久麻豆v国产 | 国产精品初高中精品久久 | 婷婷久久综合九色综合 | 国产伦理久久精品久久久久_ | 9在线观看免费高清完整版在线观看明 | 色视频网站在线观看一=区 a视频免费在线观看 | 91亚洲视频在线观看 | 免费视频99 | 日韩视频免费 | 日韩在线视频二区 | 中日韩免费视频 | 精品一区av | 00av视频| 欧美激情视频在线观看免费 | 亚洲欧洲国产视频 | 97在线免费 |