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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenFire源码学习之二十一:openfie对用户的优化(上)

發布時間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenFire源码学习之二十一:openfie对用户的优化(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶類

優化用戶主要是要解決用戶的連接量。已經對用戶的訪問速度和吞吐量。

預初始化

在前面的帶面中提出來了用戶的預初始化。這里就不在貼出來了。下面將redis用戶庫連接池處理貼出來UserJedisPoolManager

public class UserJedisPoolManager extends BasicModule{private static final Logger log = LoggerFactory.getLogger(UserJedisPoolManager.class);private static final String OF_ALL_USER = "select username, encryptedPassword, name, email, moblie, creationDate, modificationDate from ofuser";private static final String OF_USER_VCARD = "select username, vcard from ofvcard";private static final String OF_PRESENCE = "select username, offlinePresence, offlineDate from ofPresence";//private static final String REDIS_USER = "REDIS_USER";private static final Integer timeout = 1000*10;private static final int maxActive = 5000 * 10;private static final int maxIdle = 50;private static final long maxWait = (1000 * 100);private static JedisPool pool;private static XMPPServer loaclserver;private static JedisPoolConfig configs;public UserJedisPoolManager() {super("User redis manager");}private static JedisPoolConfig createConfig() {configs = new JedisPoolConfig();configs.setMaxActive(maxActive);configs.setMaxIdle(maxIdle);configs.setMaxWait(maxWait);configs.setTestOnBorrow(false);return configs;}private void createJedisPool() {RedisConfig redisConfig = loaclserver.getJedisConfDao().getRedisConfig("REDIS_USER");if (redisConfig != null) {+ " ,auto:" + redisConfig.getAuto());System.out.println(redisConfig.getAuto() .equals("") );pool = new JedisPool(createConfig(), redisConfig.getIp(), Integer.valueOf(redisConfig.getPort().trim()), timeout, redisConfig.getAuto().equals("") ? null : redisConfig.getAuto());Jedis jedis = pool.getResource();jedis.select(0);if(!jedis.exists("OFUSER:admin")) {DefaultAuthProvider dup = new DefaultAuthProvider();try {String password = dup.getPassword("admin");password = AuthFactory.encryptPassword(password);Map<String, String> map = new HashMap<String, String>();map.put("NAME", "admin");map.put("PASSWORD", password);map.put("CREATIONDATE", "0");map.put("MODIFICATIONDATE", "0");jedis.hmset("OFUSER:admin", map);} catch (UserNotFoundException e) {e.printStackTrace();}finally{pool.returnResource(jedis);} }}}private void poolInit() {createJedisPool();}public Jedis getJedis() {if (pool == null){poolInit();}Jedis jedis = pool.getResource();jedis.select(0);return jedis;}public void returnRes(Jedis jedis) {pool.returnResource(jedis);}@Overridepublic void initialize(XMPPServer server) {super.initialize(server);loaclserver = server;poolInit();log.info("UserManager By Redis: start init....");}public Collection<User> getAllUser() {Collection<User> users = new ArrayList<User>();PreparedStatement pstmt = null;Connection con = null;ResultSet rs = null;try {con = (Connection) DbConnectionManager.getConnection();pstmt = con.prepareStatement(OF_ALL_USER);rs = pstmt.executeQuery();while(rs.next()) {User user = new User();user.setUsername(rs.getString(1));user.setPassword(rs.getString(2));user.setName(rs.getString(3));user.setEmail(rs.getString(4));user.setMoblie(rs.getString(5));user.setCreationDate(rs.getString(6));user.setModificationDate(rs.getString(7));users.add(user);}}catch (Exception e) {log.info( e.getMessage());e.printStackTrace();}finally {DbConnectionManager.closeConnection(pstmt, con);}return users;}public Collection<UserVcard> getUserVcard() {Collection<UserVcard> userVcards = new ArrayList<UserVcard>();PreparedStatement pstmt = null;Connection con = null;ResultSet rs = null;try {con = (Connection) DbConnectionManager.getConnection();pstmt = con.prepareStatement(OF_USER_VCARD);rs = pstmt.executeQuery();while(rs.next()) {UserVcard user = new UserVcard();user.setUsername(rs.getString(1));user.setVcard(rs.getString(2));userVcards.add(user);}}catch (Exception e) {log.info( e.getMessage());e.printStackTrace();}finally {DbConnectionManager.closeConnection(pstmt, con);}return userVcards;}public Collection<Presence> getPresences() {......} }

在上面createJedisPool方法中預置了管理員的賬號。這是因為我們需要修改openfire的用戶認證dao。也就是說web控制臺的管理員。在登陸web頁面的時候,我們認證也是先走redis驗證的。

用戶認證

用戶認證,首先需要重新實現AuthProvider。Openfire當中默認使用的是DefaultAuthProvider來操作數據層。當然他也提供了其他的方式實現接口,比如:HybridAuthProvider、JDBCAuthProvider、NativeAuthProvider、POP3AuthProvider等。

寫完AuthProvider的Redis實現后,接下來需要基于Redis的用戶DAO。

下面是兩個類的源碼清單:

RedisAuthProvider

public class RedisAuthProvider implements AuthProvider{private static final Logger log = LoggerFactory.getLogger(RedisAuthProvider.class);private static HmThreadPool threadPool = new HmThreadPool(3);......@Overridepublic void authenticate(String username, String password)throws UnauthorizedException, ConnectionException,InternalUnauthenticatedException {......}@Overridepublic void authenticate(String username, String token, String digest)throws UnauthorizedException, ConnectionException,InternalUnauthenticatedException {......}@Overridepublic String getPassword(String username) throws UserNotFoundException,UnsupportedOperationException {Jedis jedis = XMPPServer.getInstance().getUserJedis().getJedis();try {String pw = jedis.hmget("OFUSER:" + username, "PASSWORD").get(0);if (pw == null) {String userid = jedis.get("MOBILE:" + username);pw = jedis.hmget("OFUSER:" + userid, "PASSWORD").get(0);}return AuthFactory.decryptPassword(pw);} finally {XMPPServer.getInstance().getUserJedis().returnRes(jedis);}}@Overridepublic void setPassword(String username, String password)throws UserNotFoundException, UnsupportedOperationException {Jedis jedis = XMPPServer.getInstance().getUserJedis().getJedis();try {password = AuthFactory.encryptPassword(password);jedis.hset("OFUSER:" + username, "PASSWORD", password);} finally {XMPPServer.getInstance().getUserJedis().returnRes(jedis);}threadPool.execute(createTask(XMPPServer.getInstance().getJedisConfDao().getAuthProvider(), username, password));}@Overridepublic boolean supportsPasswordRetrieval() {// TODO Auto-generated method stubreturn true;}private static final String UPDATE_PASSWORD ="UPDATE ofUser SET encryptedPassword=? WHERE username=?";private Runnable createTask(final AuthProvider edp, final String username, final String password) { return new Runnable() { public void run() {try {//edp.setPassword(username, password);Connection con = null;PreparedStatement pstmt = null;try {con = DbConnectionManager.getConnection();pstmt = con.prepareStatement(UPDATE_PASSWORD);if (password == null) {pstmt.setNull(1, Types.VARCHAR);}else {pstmt.setString(1, password);}pstmt.setString(2, username);pstmt.executeUpdate();}catch (SQLException sqle) {throw new UserNotFoundException(sqle);}finally {DbConnectionManager.closeConnection(pstmt, con);}} catch (UserNotFoundException e) {log.info("UserNotFoundException: " + username);}} }; } }

用戶認證寫完后,要記得修改系統屬性表:ofProperty

provider.auth.className

org.jivesoftware.util.redis.expand.RedisAuthProvider


RedisUserProvider:

public class RedisUserProvider implements UserProvider{ ......public User loadUser(String username) throws UserNotFoundException {if(username.contains("@")) {if (!XMPPServer.getInstance().isLocal(new JID(username))) {throw new UserNotFoundException("Cannot load user of remote server: " + username);}username = username.substring(0,username.lastIndexOf("@"));}Jedis jedis = XMPPServer.getInstance().getUserJedis().getJedis();try {Map<String, String> map = jedis.hgetAll("OFUSER:" + username);String usernames = username;if (map.isEmpty()) {String userid = jedis.get("OFUSER:" + username);map = jedis.hgetAll("OFUSER:" + userid);if (map.isEmpty()) {return XMPPServer.getInstance().getJedisConfDao().getUserProvider().loadUser(username);}usernames = userid;}String name = map.get("NAME");String email = map.get("EMAIL");String mobile = map.get("MOBILE");String creationDate = map.get("CREATIONDATE");String modificationDate = map.get("MODIFICATIONDATE");User user = new User(usernames, name, email, mobile, new Date(Long.parseLong(creationDate.equals("0")||creationDate.equals("") ? StringUtils.dateToMillis(new Date()) : creationDate)), new Date(Long.parseLong(modificationDate.equals("0")||modificationDate.equals("") ? StringUtils.dateToMillis(new Date()) : modificationDate)));return user;} finally {XMPPServer.getInstance().getUserJedis().returnRes(jedis);}}public User createUser(String username, String password, String name, String email)throws UserAlreadyExistsException{return createUser(username, password, name, email, null);}public User createUser(String username, String password, String name, String email, String moblie)throws UserAlreadyExistsException{try {loadUser(username);// The user already exists since no exception, so:throw new UserAlreadyExistsException("Username " + username + " already exists");}catch (UserNotFoundException unfe) {Jedis jedis = XMPPServer.getInstance().getUserJedis().getJedis();Map<String, String> hash = new HashMap<String, String>();password = AuthFactory.encryptPassword(password);hash.put("PASSWORD", password);if (name != null && !"".equals(name))hash.put("NAME", name);if (email != null && !"".equals(email)) hash.put("EMAIL", email);if (moblie != null && !"".equals(moblie)) hash.put("MOBILE", moblie);Date now = new Date();hash.put("CREATIONDATE", StringUtils.dateToMillis(now));hash.put("MODIFICATIONDATE", StringUtils.dateToMillis(now));try {jedis.hmset("OFUSER:" + username, hash);} finally {XMPPServer.getInstance().getUserJedis().returnRes(jedis);}threadPool.execute(createTaskAddUser(username, null, password, name, email, moblie));return new User(username, name, email, moblie, now, now);}}private Runnable createTaskAddUser(final String username, final String password, final String encryptedPassword, final String name, final String email, final String moblie) {return new Runnable() {public void run () {.....}};}public void deleteUser(String username) {......}public int getUserCount() {int count = 0;Connection con = null;PreparedStatement pstmt = null;ResultSet rs = null;try {con = DbConnectionManager.getConnection();pstmt = con.prepareStatement(USER_COUNT);rs = pstmt.executeQuery();if (rs.next()) {count = rs.getInt(1);}}catch (SQLException e) {Log.error(e.getMessage(), e);}finally {DbConnectionManager.closeConnection(rs, pstmt, con);}return count;}public Collection<User> getUsers() {Collection<String> usernames = getUsernames(0, Integer.MAX_VALUE);return new UserCollection(usernames.toArray(new String[usernames.size()]));}public Collection<String> getUsernames() {return getUsernames(0, Integer.MAX_VALUE);}private Collection<String> getUsernames(int startIndex, int numResults) {......}public Collection<User> getUsers(int startIndex, int numResults) {Collection<String> usernames = getUsernames(startIndex, numResults);return new UserCollection(usernames.toArray(new String[usernames.size()]));}public void setName(String username, String name) throws UserNotFoundException {......}public void setEmail(String username, String email) throws UserNotFoundException {......}public void setCreationDate(String username, Date creationDate) throws UserNotFoundException {......}public void setModificationDate(String username, Date modificationDate) throws UserNotFoundException {......}public Set<String> getSearchFields() throws UnsupportedOperationException {return new LinkedHashSet<String>(Arrays.asList("Username", "Name", "Email"));}public Collection<User> findUsers(Set<String> fields, String query) throws UnsupportedOperationException {return findUsers(fields, query, 0, 100);}public Collection<User> findUsers(Set<String> fields, String query, int startIndex,int numResults) throws UnsupportedOperationException{......}/*** Make sure that Log.isDebugEnabled()==true before calling this method.* Twenty elements will be logged in every log line, so for 81-100 elements* five log lines will be generated* @param listElements a list of Strings which will be logged */private void LogResults(List<String> listElements) {......}@Overridepublic void setMoblie(String username, String moblie)throws UserNotFoundException {......} }

注意:這里有個moblie字段。在原來openfire用戶認證表里面是沒有這個字段的。這里是本人新加的字段。方便手機登陸。看各自的頁面場景啦。



轉載于:https://www.cnblogs.com/huwf/p/4273347.html

總結

以上是生活随笔為你收集整理的OpenFire源码学习之二十一:openfie对用户的优化(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

天天射日 | 久99久在线| 国产欧美久久久精品影院 | a在线观看免费视频 | 黄色特一级片 | 高清一区二区 | 亚洲精品动漫久久久久 | 毛片网在线观看 | 日韩欧美区| 天天操夜夜想 | 亚洲国产大片 | 日本精品视频在线观看 | 亚洲天堂视频在线 | av丝袜美腿 | 伊人精品在线 | 在线国产激情视频 | 国产精品久久久久久麻豆一区 | www久| 成人中心免费视频 | 国产视频二| 亚洲人人射| 综合天堂av久久久久久久 | 欧美日韩亚洲在线观看 | 中文字幕 国产视频 | 亚洲精品视频播放 | 天天躁天天操 | 毛片网在线播放 | 玖玖爱在线观看 | 五月香视频在线观看 | 日韩欧美xxxx| 99视频在线免费播放 | 国产视频亚洲精品 | 成年人黄色大片在线 | 一区二区三区视频网站 | 天天爽网站 | 一区二区电影在线观看 | 天天草综合 | 亚洲性xxxx | bbbbb女女女女女bbbbb国产 | av成人免费观看 | 久久狠狠一本精品综合网 | 欧美精品久久久久 | 国产在线精品福利 | 欧美黄色成人 | 久久99国产精品免费网站 | 午夜10000| 久久久久国 | 天天狠狠干 | 91麻豆精品 | 在线观看涩涩 | 胖bbbb搡bbbb擦bbbb | 去看片 | 久久99国产精品久久 | 美女免费视频一区二区 | 欧美精品一区二区在线观看 | 国产精品精品久久久久久 | 免费看污片 | 99高清视频有精品视频 | 91精品免费在线观看 | 国产精品一区二区久久精品爱微奶 | 国产又粗又长的视频 | 免费观看xxxx9999片 | 国产免费精彩视频 | 91久久黄色 | 欧美一区,二区 | 精品国产一区二区在线 | 91精品视频免费在线观看 | 欧美另类网站 | 久草精品在线 | 狠狠色丁香婷综合久久 | 色免费在线 | 天天看天天干 | 91av在线精品 | 手机在线欧美 | www.com久久久 | 国产亚洲在线视频 | 丁香六月综合网 | 99久在线精品99re8热视频 | www91在线 | 久久久99精品免费观看 | 毛片一区二区 | 国产精品你懂的在线观看 | 韩国在线视频一区 | 国产精品久久久久久久久久久久久 | 成全在线视频免费观看 | 操高跟美女 | 亚洲欧美日韩中文在线 | 久久一线 | 99久久精品国产欧美主题曲 | 欧美aaa级片 | 毛片视频电影 | 国产v在线播放 | 男女啪啪视屏 | 91色一区二区三区 | 日韩久久精品一区 | 麻豆精品国产传媒 | 黄色毛片一级片 | 国产精品美女免费视频 | 亚洲精品视频免费在线观看 | 国产最新在线 | 人人搞人人爽 | 播五月婷婷| 日韩欧美视频 | 五月婷婷色丁香 | 免费在线观看一区二区三区 | 特级a毛片| 精品亚洲国产视频 | 91大片网站 | 福利网址在线观看 | av在线看片 | 黄色一级大片在线免费看产 | 人人射av | 欧美在一区 | 国产91精品一区二区麻豆网站 | 国产精品久久久久久久久久ktv | 黄污网站在线 | 久久久久国 | 九七人人干 | 久久综合偷偷噜噜噜色 | 中文在线资源 | 综合黄色网 | 国产精品美女视频 | 国产精品中文字幕av | 中文字幕欧美日韩va免费视频 | 欧美a级在线 | 人人插人人 | 久久在线免费观看视频 | 久草精品在线播放 | 国产高清视频在线播放一区 | 手机av资源 | 亚洲精品国产精品国自产观看 | 国产精品一区二区 91 | 黄色电影小说 | 国内精品久久久久久久久久久 | 中文字幕高清有码 | 国产精品久久麻豆 | 丁香视频在线观看 | 免费看av在线 | 亚洲综合成人专区片 | 婷婷综合五月天 | 亚洲人成免费网站 | 91色吧 | 在线看片日韩 | 久草精品在线观看 | 欧美在线1 | 青青草华人在线视频 | 国产黄av | 精品国产免费久久 | 国内精品久久久 | 99精品视频在线 | 免费在线a | 中文字幕网站 | 玖玖爱在线观看 | 欧美日韩一级久久久久久免费看 | 国产999视频 | av在线免费观看黄 | 久久久久免费视频 | 奇米网网址| 精品久久久久一区二区国产 | 在线观看成人网 | 亚洲一区 影院 | 亚洲天堂自拍视频 | 国产一级淫片免费看 | 国产高清视频免费 | 亚洲二区精品 | av软件在线观看 | 黄色一级片视频 | 亚洲专区在线播放 | 成人性生交大片免费观看网站 | 成人午夜网 | 欧美在线资源 | 婷婷99 | 免费av黄色| 狠狠狠综合 | 欧美一二区在线 | 激情综合五月天 | 日韩成年视频 | 日韩三级视频 | 亚洲精品在线看 | 五月婷婷在线视频观看 | 国内丰满少妇猛烈精品播放 | 人人爽人人爽人人片av | 免费看黄色毛片 | 欧美日韩18 | 亚洲精品av中文字幕在线在线 | 久久精品视频4 | av在线超碰 | 麻豆传媒一区二区 | 日本黄色免费电影网站 | 欧美日韩国产一区二区在线观看 | 天天射天天干 | 99精品在线免费观看 | 国产真实精品久久二三区 | 综合网久久 | 婷婷色网 | 日韩中文字幕免费在线观看 | 色婷婷激情综合 | 美女黄久久 | 久久综合狠狠综合久久狠狠色综合 | 国产精品九九热 | 久久久免费播放 | 91传媒在线 | 国产永久免费 | 精品欧美一区二区精品久久 | 国产一在线精品一区在线观看 | 激情综合色综合久久综合 | 免费三级在线 | 精品高清美女精品国产区 | 中文字幕人成不卡一区 | 成人在线免费av | 在线视频 精品 | 婷婷香蕉 | 亚洲免费av一区二区 | 久久观看免费视频 | av片中文字幕 | 国产精品激情 | 国产伦理久久精品久久久久_ | 成人黄色免费在线观看 | aⅴ精品av导航 | 99久久精品国产一区二区三区 | 中文字幕乱码日本亚洲一区二区 | 色婷婷骚婷婷 | 日韩在线观看三区 | 久久成人一区 | 欧美午夜寂寞影院 | 成人影片在线免费观看 | 亚洲精品乱码久久久久久蜜桃动漫 | 欧美天天射 | 成人在线播放av | 久久tv| 九九九电影免费看 | 超碰在线个人 | 久久理论影院 | 成人国产精品入口 | 久久国产精品99久久久久久进口 | 九九免费在线观看 | 日韩国产精品久久久久久亚洲 | 国产在线精品国自产拍影院 | www国产一区| www·22com天天操 | 国产91在线观看 | 亚洲婷婷丁香 | 黄色毛片一级片 | 天天射综合网视频 | 日日碰夜夜爽 | 久久在线看 | 国产麻豆剧果冻传媒视频播放量 | av综合网址 | 亚洲精品中文字幕视频 | 日产乱码一二三区别免费 | 久久国产精品精品国产色婷婷 | 国产午夜在线 | 成年人在线观看视频免费 | 99国产精品一区 | 91成人免费电影 | 日韩在线视 | 国产精品1区2区3区在线观看 | 超碰人人草人人 | 久久久久看片 | 日日干夜夜草 | 99久久99久国产黄毛片 | 在线观看黄色国产 | 视频高清 | 久久呀| 欧美动漫一区二区三区 | 色婷婷在线播放 | 国产成人三级在线 | 日本性高潮视频 | 国产成人精品一二三区 | 久久五月天色综合 | 黄a在线 | 日本中文不卡 | 成年人黄色免费视频 | 一级性视频 | 一区二区三区电影大全 | 国产区精品视频 | 人人讲 | 亚洲人成影院在线 | 国产美腿白丝袜足在线av | 人成在线免费视频 | 欧美另类性 | 69国产精品视频 | 激情亚洲综合在线 | av免费在线观看1 | 久久国内免费视频 | 久久五月情影视 | 亚洲欧洲成人 | 国产精品美女视频网站 | 九九热久久久 | 国产人成精品一区二区三 | 欧美日韩免费观看一区二区三区 | 久久高清视频免费 | 久久都是精品 | 天天插日日操 | 日韩在线免费视频观看 | 午夜av免费在线观看 | 国产69精品久久久久9999apgf | 久草在线最新免费 | www.神马久久 | 伊人五月天综合 | 国产午夜小视频 | 九月婷婷色 | 国产精品久久久久久久av大片 | 玖玖爱国产在线 | 国产精品一区二区三区在线免费观看 | 亚洲区另类春色综合小说 | 亚洲经典精品 | 欧美坐爱视频 | 日韩手机视频 | 天天干夜夜夜操天 | 成人黄视频 | www.神马久久 | 精品综合久久久 | 一本一道久久a久久精品 | 国产精久久久久久妇女av | 超碰成人网 | av在线看片| 99热只有精品在线观看 | 久久精品aaa| 久久精品亚洲一区二区三区观看模式 | 久久99精品久久久久久久久久久久 | 久久九精品 | 天天操天天操天天操天天操天天操 | 欧美a级一区二区 | www.99在线观看 | 人人插人人看 | 欧美精品小视频 | 在线观看日韩视频 | 正在播放 久久 | 亚洲精品乱码久久久久久蜜桃不爽 | 麻豆国产精品永久免费视频 | 国产午夜精品一区 | 亚洲极色| 久久精彩 | 日韩精品在线视频 | 国产精品毛片一区视频播 | 亚洲免费在线看 | 在线观看日韩一区 | 亚洲午夜精 | 欧美va电影| 欧美国产视频在线 | www,黄视频| 91视频大全 | 久久精品国产一区二区三 | 97涩涩视频 | 国产精品mv在线观看 | 伊人射 | 999国内精品永久免费视频 | 国产精品一区二区三区在线播放 | 97视频在线看 | 天天射天天舔天天干 | 色综合久久久久久中文网 | 国内精品久久久久久久久久久久 | 久久国产影院 | 国产一级在线观看视频 | 在线观看视频一区二区三区 | 一级黄色免费网站 | 午夜国产福利在线 | 最近中文字幕免费视频 | 亚洲天天干 | 国产不卡免费视频 | 免费日韩av电影 | 亚洲一区av | 国产精品久久久久久久久岛 | 日韩av电影一区 | 日韩伦理片一区二区三区 | 97免费公开视频 | www.香蕉视频在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | 国产伦精品一区二区三区免费 | 免费三及片 | 91爱爱电影 | av电影免费 | 精品日韩中文字幕 | 五月婷婷综合激情网 | 国产精品99精品久久免费 | 久久成人高清 | 日韩资源在线 | 高清国产一区 | 操天天操| 一级α片免费看 | 97电影院在线观看 | 91精品国产99久久久久 | 日韩在线免费电影 | www.夜夜操 | 久草在线看片 | 激情视频免费在线观看 | 国产国语在线 | 亚洲午夜大片 | 久久婷亚洲五月一区天天躁 | 在线观看免费中文字幕 | www.天天干.com | 亚洲激情视频在线 | 日韩中文字幕免费电影 | 成人免费网站在线观看 | 99久久精品国产一区 | 久久成人18免费网站 | 国产在线精品福利 | 青青河边草免费视频 | 久久久久久久久久网 | 天天天天爱天天躁 | 日韩精品不卡在线 | 精品国产一区在线观看 | 日本黄色大片免费看 | 国产免费av一区二区三区 | 国产91精品一区二区麻豆网站 | 日韩在线免费看 | 色999在线 | 西西444www大胆高清图片 | 久久久精品电影 | 免费黄在线观看 | 亚洲成人免费观看 | 在线精品视频免费播放 | 中文字幕在线影院 | 婷婷亚洲综合五月天小说 | 精品国产精品一区二区夜夜嗨 | 久久精品99精品国产香蕉 | 日韩专区在线 | av综合 日韩| 欧美亚洲久久 | 黄色大片日本免费大片 | 在线小视频| 狠狠色狠狠色综合日日小说 | 黄色精品一区 | 日韩动态视频 | 久青草视频在线观看 | 亚洲精品视频免费观看 | 欧美狠狠操| 国产精品美女网站 | 91精品视频在线免费观看 | 波多野结衣一区二区三区中文字幕 | av电影免费在线播放 | 久久国产电影 | 免费看三级网站 | 又黄又爽又湿又无遮挡的在线视频 | 国产高清在线免费观看 | www视频在线播放 | 黄色免费视频在线观看 | 91成人在线免费观看 | 色播五月激情五月 | 久久私人影院 | 亚洲精品视频网站在线观看 | 久久福利电影 | 99热亚洲精品 | 在线视频 你懂得 | 精品999在线观看 | 亚州欧美视频 | www日韩高清 | 日本在线中文在线 | av国产网站| a级成人毛片| 国产99久久久国产 | www五月天婷婷 | 黄色一级在线视频 | 国产精品私人影院 | 日b黄色片 | 99精品欧美一区二区三区 | 国产精品美女久久久 | 最近高清中文在线字幕在线观看 | 美女网站在线播放 | 青春草视频在线播放 | 人人揉人人揉人人揉人人揉97 | av线上看 | 97在线免费视频观看 | 久久xxxx| 麻豆成人在线观看 | 免费网站v | 精品二区久久 | 色在线免费观看 | 波多野结衣电影一区二区三区 | 亚洲波多野结衣 | 麻豆一区在线观看 | 99人久久精品视频最新地址 | 日韩欧美在线观看一区二区三区 | 国产超碰在线 | 成年人视频在线观看免费 | 久久av中文字幕片 | 中文字幕精品www乱入免费视频 | 99久久精品视频免费 | 一区二区国产精品 | av观看网站 | 国产日产精品一区二区三区四区 | 成人羞羞免费 | www.超碰| 91女神的呻吟细腰翘臀美女 | 亚洲精品中文在线资源 | 国产v在线播放 | 亚洲综合在线五月 | 97看片吧 | 国产黄网在线 | 五月婷婷影视 | 欧美精品久久久久久久久久 | 欧美精品在线观看 | 西西444www大胆无视频 | 欧美日韩中文字幕在线视频 | 爱色婷婷 | 91探花国产综合在线精品 | 亚洲1区 在线 | 色婷婷伊人| 国产永久免费观看 | 久久国产免费看 | 中文av网站 | www.日韩免费 | 草久视频在线观看 | 黄色av播放| 久久视频在线看 | 国产糖心vlog在线观看 | 日韩免费一区二区三区 | 日本中文字幕在线播放 | 美女久久网站 | 亚洲欧洲国产视频 | 69久久99精品久久久久婷婷 | 日本午夜在线亚洲.国产 | 国产欧美日韩一区 | 精品美女久久久久久免费 | 99久久精品电影 | 激情一区二区三区欧美 | 999视频精品 | 国产中文字幕在线观看 | 一区免费观看 | 超碰在线人人爱 | 五月天婷婷综合 | 手机av在线网站 | 亚洲精品国产综合99久久夜夜嗨 | 狠狠久久综合 | 国产在线观看污片 | 正在播放国产一区 | 午夜美女wwww | 91成人国产| 黄网在线免费观看 | 天天综合入口 | 麻豆视频免费入口 | www.夜色321.com| 一区二区电影网 | 欧美精品在线一区 | 在线观看av的网站 | 24小时日本在线www免费的 | 免费在线观看的av网站 | 狠狠色丁香婷婷综合久小说久 | 三级免费黄色 | 不卡av在线 | 全黄色一级片 | 91精品久久久久久久久 | 婷婷国产v亚洲v欧美久久 | 亚洲精品乱码久久久久久按摩 | 五月婷婷综合激情 | 亚洲伊人网在线观看 | 日韩18p| 国产成人一区二区三区在线观看 | 91av原创| www..com毛片 | 国产成人一区二区三区在线观看 | 91精品少妇偷拍99 | 欧美日韩亚洲第一 | 久久久久欠精品国产毛片国产毛生 | 综合久久久 | 成人免费毛片aaaaaa片 | 免费观看av | 国产日韩精品在线观看 | 国产婷婷一区二区 | 国产成人av福利 | 亚洲涩涩网站 | 五月天中文字幕 | 四虎免费在线观看 | 午夜免费电影院 | 欧美精品久久久久久久久久白贞 | 超碰人人超 | 一区在线免费观看 | 黄av免费在线观看 | 一区二区三区免费在线观看 | 日韩视频中文字幕在线观看 | 网站在线观看你们懂的 | 中文字幕高清有码 | 成人av高清在线观看 | 亚洲精品久久在线 | 91在线国内视频 | 婷婷视频导航 | 国产资源在线播放 | 波多野结衣亚洲一区二区 | 在线激情电影 | 亚洲蜜桃在线 | 久草网在线视频 | 在线观看亚洲免费视频 | 97天天干 | www黄色大片 | 国产精品久久久毛片 | 欧美精品在线观看 | 波多野结衣一区三区 | 精品久久久久久久久久 | 日韩三级中文字幕 | 成人久久| 久久久综合色 | 亚欧日韩av | 久久在线精品 | 国产在线免费观看 | 欧美激情综合网 | 超碰97公开| www中文在线| 久精品视频在线观看 | 婷婷综合国产 | 91看片在线免费观看 | 999成人 | 在线精品视频免费播放 | 亚洲综合成人av | 欧美伦理一区二区三区 | 超碰在线官网 | 久久综合精品一区 | 日产中文字幕 | 91传媒在线观看 | 亚洲天天摸日日摸天天欢 | 久久综合亚洲鲁鲁五月久久 | 国内外成人在线视频 | 97精品国产97久久久久久久久久久久 | 天天插视频| 91在线视频精品 | 成人av一二三区 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产一区二区三精品久久久无广告 | 欧美激情h| 日韩高清无线码2023 | 国产精品久久久电影 | 超碰97人人射妻 | 在线精品国产 | 综合精品久久 | 国产精品免费不卡 | 久久视 | 丁香综合五月 | 欧美综合在线观看 | 日韩欧美视频免费观看 | 成人avav| 在线看污网站 | 国产精品99久久免费黑人 | 亚洲欧美视频在线播放 | 久久美女视频 | 免费亚洲精品 | 国产激情电影综合在线看 | 不卡电影免费在线播放一区 | 久久久久 | 国产色婷婷精品综合在线手机播放 | 992tv人人草 黄色国产区 | 国产资源精品 | 天堂av一区二区 | 久 久久影院 | 久9在线| 国产精品一区二区电影 | 黄色大片免费播放 | 国产一区二区在线观看视频 | 91在线免费观看国产 | 国产在线精品国自产拍影院 | 久久久久人人 | 亚洲国产三级在线观看 | 热99久久精品 | 最近2019年日本中文免费字幕 | 欧美精品三级 | 日韩免费 | 精品国产乱码久久久久久天美 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲aⅴ免费在线观看 | av 一区二区三区四区 | 天天射天天爱天天干 | 国产精品观看在线亚洲人成网 | 美女黄频 | 视频成人免费 | 干干日日 | 久久精品爱视频 | 在线91av| 亚洲a资源 | 婷婷六月丁香激情 | 国产精品成人av在线 | 成人蜜桃视频 | 中文字幕av最新 | 91精品国产福利在线观看 | www.久久爱.cn | 一区二区三区三区在线 | 久久草在线免费 | 在线a亚洲视频播放在线观看 | 国产精品九九久久99视频 | av在线影视 | 免费福利视频导航 | 亚洲黄色av一区 | 欧美性色xo影院 | 91麻豆精品久久久久久 | 欧美日韩国产一二 | 国内精品久久天天躁人人爽 | 国内小视频在线观看 | 91免费在线视频 | 在线视频电影 | 欧美日韩国产免费视频 | 一区二区精品在线观看 | 国产成人精品一区二区三区在线 | 波多野结衣在线视频免费观看 | 国产精品第52页 | 日本不卡123 | 国产精品岛国久久久久久久久红粉 | 天天色综合久久 | 97精品久久 | 国产人成一区二区三区影院 | 久久久精品久久日韩一区综合 | 在线影院 国内精品 | 98涩涩国产露脸精品国产网 | av电影在线不卡 | 肉色欧美久久久久久久免费看 | 免费看国产视频 | 成人免费网视频 | 深夜免费网站 | 天天干,夜夜爽 | 精品国偷自产在线 | 久久精品麻豆 | 久久精品电影院 | 成年人免费看 | 国产一区二区精品 | 欧美激情精品久久久久久免费印度 | 日本一区二区三区免费看 | 日本在线中文在线 | 在线观看久久久久久 | 久久久亚洲影院 | 中文字幕资源站 | 国产精品麻豆99久久久久久 | 欧美性视频网站 | 国产成人在线精品 | 日本精品在线 | 美女精品国产 | 视频在线精品 | 免费av观看网站 | 97国产大学生情侣白嫩酒店 | 久久精品久久99精品久久 | 久久免费国产精品1 | 91资源在线观看 | 色香天天 | 中文字幕成人在线 | 中中文字幕av在线 | 久久综合九色综合欧美就去吻 | 黄色网址中文字幕 | 青青射 | 久久躁日日躁aaaaxxxx | 国产一区二区综合 | 在线播放一区 | 日本九九视频 | 国产精品日韩高清 | 亚洲精品一区二区精华 | 国产国语在线 | 亚洲黄色在线观看 | 国产精品av免费在线观看 | 日韩高清国产精品 | 天堂在线一区二区三区 | 午夜精品久久久久久久99热影院 | 久久久国产精品久久久 | 精品国产欧美一区二区三区不卡 | 成人毛片在线观看 | 天天草天天 | 欧美色综合天天久久综合精品 | 成人作爱视频 | 国产精品第2页 | 98涩涩国产露脸精品国产网 | 2018亚洲男人天堂 | 国产综合片 | 日日躁天天躁 | 热久久免费国产视频 | 国产91大片 | 国产剧情一区二区 | 二区三区中文字幕 | 麻豆av一区二区三区在线观看 | 黄色影院在线免费观看 | 亚洲视频综合在线 | 日韩精品观看 | 99精品欧美一区二区蜜桃免费 | 久久看视频 | 日本婷婷色 | www.com久久久| 欧美了一区在线观看 | 99视频网址 | www.五月婷 | 精品国产乱码 | 国产精品久久综合 | 最新国产在线视频 | 91精品国产综合久久婷婷香蕉 | 西西人体www444| 97人人超| 亚洲少妇激情 | 国产精品18久久久久久久久 | 国内精品久久久久影院日本资源 | 亚洲在线网址 | avv天堂| 色偷偷人人澡久久超碰69 | 91精品国产自产91精品 | 午夜黄网| 久久精品久久久久久久 | 久草在线一免费新视频 | 日日夜夜中文字幕 | 国产精品久久久久久久免费 | 西西444www大胆高清图片 | 激情亚洲综合在线 | 久久综合9988久久爱 | 久操视频在线播放 | 日韩高清黄色 | 国产精品成人av电影 | 亚洲国产日韩av | 国产精品一区一区三区 | 伊人伊成久久人综合网站 | 国产视频亚洲视频 | 国产剧情在线一区 | 一本一本久久a久久精品牛牛影视 | 国产一级淫片免费看 | 国产精品黄色在线观看 | 五月天综合网 | 日本狠狠色| 成人免费视频网址 | 超碰999| 国产精品久久一区二区三区不卡 | а天堂中文最新一区二区三区 | 久久中国精品 | 婷婷丁香色 | 视频一区二区国产 | 日本三级久久 | www国产亚洲精品久久网站 | 久久视频网址 | 91天天操| 在线天堂中文www视软件 | 日韩欧美在线国产 | 91色蜜桃| 国产精品视频在线观看 | 天天视频色版 | www色av| 国产精品99久久久久人中文网介绍 | 小草av在线播放 | 国产精品福利视频 | 久草在线99 | 亚洲人成人天堂h久久 | 99在线视频播放 | 国产精品区二区三区日本 | 四虎永久免费网站 | 最近日本中文字幕 | 久久久精品国产一区二区电影四季 | 久久只有精品 | av在线播放不卡 | 国产精品久久久久久久久久直播 | 久久国产精品精品国产色婷婷 | 日韩色中色 | 日本aa在线 | 青青草国产在线 | 福利视频一二区 | 婷婷丁香六月 | 一区二区三区日韩在线观看 | 免费观看91| 日韩有码欧美 | 国产精品午夜在线观看 | 久草在线欧美 | 视频在线日韩 | 韩日电影在线 | av免费网站| 欧美一区二区精品在线 | 美女黄频网站 | 亚洲区另类春色综合小说校园片 | 狠狠色伊人亚洲综合网站色 | 欧美一区二区三区在线播放 | 久久高清片 | 在线观看aaa| 国产流白浆高潮在线观看 | 狠狠88综合久久久久综合网 | 人人射av | 麻豆视传媒官网免费观看 | 亚洲欧美偷拍另类 | 亚洲天堂视频在线 | 久久国产精品99久久久久久老狼 | 天天综合网在线观看 | 国产精品99久久免费观看 | 99在线视频网站 | 超黄视频网站 | 日韩三级免费观看 | 国产成人av一区二区三区在线观看 | 免费在线观看黄网站 | 黄色三级在线看 | 国产视频久 | 欧美日韩一区二区免费在线观看 | 成人av中文字幕在线观看 | 麻豆视频入口 | 男女激情免费网站 | 午夜精品久久久久久久久久久 | 五月激情婷婷丁香 | 午夜神马福利 | 西西444www高清大胆 | 视频 天天草 | 欧美日韩大片在线观看 | 亚洲精品视频免费在线观看 | 中文字幕亚洲五码 | 成人午夜精品久久久久久久3d | 亚洲视频1区2区 | 美女免费视频网站 | 婷婷六月丁香激情 | 中文国产字幕在线观看 | 丁香婷五月 | 91丨九色丨高潮丰满 | 欧美国产不卡 | 亚洲视频电影在线 | 国产精品男女视频 | 久久久免费 | 福利电影久久 | 国产一二三四在线视频 | 日韩二区三区在线 | 最新在线你懂的 | 欧洲精品久久久久毛片完整版 | 亚洲精品国产综合久久 | 欧美va天堂在线电影 | 伊人婷婷| 97在线观看免费 | 国产一区视频免费在线观看 | 玖玖视频在线 | 日精品| av+在线播放在线播放 | 日本精品一 | 日本精品午夜 | 日韩 精品 一区 国产 麻豆 | 91精品在线免费 | 天天av天天 | 91热这里只有精品 | 免费看av片网站 | 国产97在线看 | 日韩毛片久久久 | 亚州成人av在线 | 日韩网| 亚洲最快最全在线视频 | 美女网站视频免费黄 | 最近中文字幕高清字幕在线视频 | 免费日韩电影 | 日本久久电影网 | 伊人久久国产 | 日韩超碰在线 | 久久久久久免费视频 | 欧美俄罗斯性视频 | 国产免费视频一区二区裸体 | www.av免费观看 | 天天射天天舔天天干 | 欧洲精品视频一区 | 在线视频99 | 国产麻豆成人传媒免费观看 | 手机看片福利 | 免费aa大片 | 久久久久免费精品视频 | 久久国产精品99久久人人澡 | 日韩欧美国产视频 | 国产69精品久久app免费版 | 精品久久久成人 | 在线成人性视频 | 国产99免费 | 天天操天操 | 中文字幕高清免费日韩视频在线 | 中文字幕激情 | 狠狠色丁香婷婷综合久小说久 | 国产精品久久久99 | 国产69久久久 | 久久精品国产免费看久久精品 | 国产精品va在线播放 | 久久久国产一区二区三区四区小说 | av亚洲产国偷v产偷v自拍小说 | 国精产品999国精产品岳 | 五月婷婷影院 | 天天干天天想 | 久久人人爽人人片 | 国产精品久久99 | 韩国一区二区三区视频 | 国产99精品在线观看 | 亚洲天堂免费视频 | 青青河边草免费视频 | 亚洲精品免费在线观看 | 亚洲伦理电影在线 | 亚洲精品国产精品久久99热 | 欧美成人亚洲 | 天天操天天干天天综合网 | 少妇视频一区 | 国产精品福利小视频 | 国产精品1区2区 | 91探花在线| 日韩高清dvd | 中文字幕在线观看免费高清电影 | 国产精品毛片久久蜜 | 国产第一页精品 | 狠狠狠狠狠狠干 | av在线网站大全 | 国产一二区视频 | www.久久婷婷 | 亚洲视频观看 | 免费裸体视频网 | 精品国产一区二区三区四区在线观看 | 99成人免费视频 | 欧美一区二区三区不卡 | 亚洲国产日韩av | 久久超级碰 | 国产高清在线 | 粉嫩av一区二区三区四区 | 欧美精品一区二区在线观看 | 国产一区视频在线播放 | 九草视频在线观看 | 中文字幕乱码亚洲精品一区 | 九九视频网 | 欧美日韩高清一区二区三区 | 久在线 | 久热色超碰 | 九色精品免费永久在线 |