日韩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对用户的优化(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

av高清一区二区三区 | 三上悠亚一区二区在线观看 | 国产高清在线a视频大全 | 久草在线资源观看 | 色av资源网 | 亚洲国产欧洲综合997久久, | 天天干,天天射,天天操,天天摸 | 久久久国产日韩 | 在线精品观看国产 | 男女激情麻豆 | 玖玖色在线观看 | 99在线热播精品免费 | 日韩精品一区二区三区免费观看视频 | 九九精品久久 | 色99中文字幕 | 日韩成人在线免费观看 | 美女很黄免费网站 | 国产精品中文字幕在线观看 | 激情伊人五月天 | 黄色一区三区 | 久久国语 | 免费看国产曰批40分钟 | 国产夫妻性生活自拍 | 成人在线电影观看 | bbb搡bbb爽爽爽 | 色wwww| 视频99爱 | 久久精品99久久久久久2456 | 久久9视频 | 国产美女网站视频 | 中文字幕在线观看网址 | 国产精品女同一区二区三区久久夜 | 久久久黄色av | 久久精品www人人爽人人 | 成人免费在线观看电影 | 亚洲激情在线观看 | 国产另类xxxxhd高清 | 亚洲国产精久久久久久久 | 日韩资源在线观看 | 亚洲最快最全在线视频 | 久久99精品一区二区三区三区 | 日韩欧美国产免费播放 | 国产精品美女久久久久久久久 | 国产女人免费看a级丨片 | 中文字幕字幕中文 | 中文字幕第一页在线视频 | 国产精品一区二区在线观看免费 | 免费网站在线观看成人 | 欧美精品生活片 | 久久综合久久综合九色 | 国产麻豆精品95视频 | 国产精品精品国产色婷婷 | 欧美性色网站 | 日韩乱码中文字幕 | 三级av在线播放 | 日韩欧美电影 | 一区二区三区免费在线观看视频 | 久久国产精品久久久 | 91在线免费公开视频 | 欧美日韩在线网站 | 深夜激情影院 | 中文字幕你懂的 | 亚洲aaa级| 久久久久久美女 | 日本护士三级少妇三级999 | 狠狠色狠狠色综合日日小说 | 在线观看国产91 | 日本二区三区在线 | 日韩美女av在线 | 国产精品精品国产色婷婷 | 久久久男人的天堂 | 婷婷久久综合九色综合 | 有码中文字幕 | 国产精品va在线播放 | 成人av一级片 | 国产视频久久久 | 国内精品久久久久久久久久久 | 麻花传媒mv免费观看 | 成人午夜片av在线看 | 成人国产精品久久久久久亚洲 | 久久看片 | 激情视频国产 | 99r精品视频在线观看 | 日韩黄在线观看 | 国产精品初高中精品久久 | 青青久草在线视频 | 正在播放亚洲精品 | 国产精品久久久久高潮 | 狠狠网站 | 五月天激情视频在线观看 | 久久精品99国产精品酒店日本 | 亚洲粉嫩av | 国产韩国日本高清视频 | 在线观看av免费 | 午夜影院日本 | 五月激情六月丁香 | 最近的中文字幕大全免费版 | 天天综合网在线观看 | 国产精品久久久久久一区二区 | 国产精品大全 | 日本高清中文字幕有码在线 | 激情婷婷久久 | 亚洲经典中文字幕 | 久久精品久久精品久久精品 | 久久在线精品视频 | 国产欧美日韩视频 | 国产精品美女视频 | 色婷婷狠狠五月综合天色拍 | 久久午夜影视 | 久久久久久高潮国产精品视 | 国产剧情av在线播放 | 四虎影视8848aamm | 国产视频日韩视频欧美视频 | 男女全黄一级一级高潮免费看 | 黄色免费观看 | 手机在线看片日韩 | 在线亚洲激情 | 国产精品免费在线播放 | 日本中文字幕网址 | 四虎在线影视 | 国产成人精品一区二区三区福利 | 成人四虎 | 日本夜夜草视频网站 | 色婷婷五 | 婷婷色五| 国产专区一 | 天天拍夜夜拍 | 国产精品久久久久久久久久久久午夜片 | 欧美一级性视频 | 九九热视频在线 | 日韩欧美一二三 | 色吧av色av | 日本一区二区三区免费观看 | 国产亚洲精品xxoo | 久久久观看 | 亚洲精品女人久久久 | 丁香婷婷激情国产高清秒播 | 精品视频免费久久久看 | 久久成人午夜视频 | 日韩免费精品 | 亚洲精选国产 | 成人一级免费电影 | 久免费视频 | 日韩欧在线 | 久久国产精品精品国产色婷婷 | www.精选视频.com | 午夜精品福利一区二区三区蜜桃 | 成人天堂网 | 日本99干网 | av电影一区二区三区 | 日p在线观看 | www.亚洲精品视频 | 色综合激情久久 | 久久久久久久久久久久久9999 | 日韩av不卡在线观看 | 日韩精品中文字幕久久臀 | 成年人电影免费看 | 97视频在线免费观看 | 日日夜夜天天久久 | 99久久精品一区二区成人 | 夜夜爱av| 婷婷久久久久 | 黄色一级动作片 | 波多野结衣一区三区 | 看片网站黄色 | 婷婷网五月天 | 国产精品国产三级国产 | 亚洲精品国| 婷婷六月久久 | 精品伦理一区二区三区 | 嫩嫩影院理论片 | 不卡精品 | 91在线视频 | 99色在线视频| 91成人免费 | 免费高清在线观看电视网站 | 亚洲国产精品va在线看黑人 | 成人动漫精品一区二区 | 国产精品自产拍在线观看桃花 | 日本久久久久久科技有限公司 | 欧美一级视频免费看 | 亚洲高清在线观看视频 | 精品国产精品一区二区夜夜嗨 | 国产高清av免费在线观看 | 国产午夜精品免费一区二区三区视频 | 激情文学综合丁香 | 亚洲午夜久久久久久久久 | 射久久 | 一区二区三区四区五区六区 | av一级久久 | 中文字幕2021 | 在线а√天堂中文官网 | 久久精品96 | 一区二区三区在线不卡 | 在线黄色免费 | 久久www免费视频 | 久久新视频 | 中文一区在线观看 | 特黄特色特刺激视频免费播放 | 日本久久片 | 一区二区 精品 | av中文电影 | 天天爱天天色 | 国产精品大全 | 久久福利综合 | 中国一级片在线观看 | 日日夜夜爱 | 国内久久久久 | 久久超碰99 | 国产高清99 | av中文字幕免费在线观看 | 国产精品自产拍在线观看中文 | 五月婷婷色综合 | 水蜜桃亚洲一二三四在线 | 久久精品欧美日韩精品 | 亚洲国产mv | 国产精品女主播一区二区三区 | 国产网站在线免费观看 | 国产精品v欧美精品 | 国产在线高清视频 | 欧美高清视频不卡网 | 欧美日韩视频在线观看一区二区 | 国产精品中文字幕在线观看 | 91.麻豆视频| 国产又粗又猛又爽又黄的视频免费 | 国产视频精品免费 | 波多野结衣在线播放视频 | 欧美成年人在线观看 | 欧美另类tv| 成年人电影免费看 | 国产精品18毛片一区二区 | 亚洲第一伊人 | 欧美精品久久久久久久 | 92av视频 | 亚洲黄色在线观看 | 久久av免费| 久久国产精彩视频 | 亚洲天堂va| 久操视频在线免费看 | jizz999| 福利视频一区二区 | 99在线精品视频观看 | 日本激情中文字幕 | 91在线区| 亚州精品国产 | 中文字幕免费一区 | 五月天婷婷在线观看视频 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲精品免费在线观看视频 | av成人在线播放 | 国产丝袜美腿在线 | 99婷婷狠狠成为人免费视频 | 国产欧美精品在线观看 | 黄色视屏av | 色.com| 日韩成人免费观看 | 欧美激情va永久在线播放 | 亚洲国产中文字幕 | 天天操天天色天天 | 国产成人精品av在线观 | 国产精品69av | bbb搡bbb爽爽爽 | 97超碰国产精品女人人人爽 | 国产亚洲精品久久网站 | 99热这里只有精品8 久久综合毛片 | 精品久久久久久久久久岛国gif | 久久久久久久久久久久久久免费看 | 国产成人av| 日韩激情久久 | 一区三区在线欧 | 亚洲中字幕| 91桃色在线观看视频 | 高清av免费一区中文字幕 | 国产黄在线 | 免费看污污视频的网站 | 四虎海外影库www4hu | 久久精品五月 | 国产专区欧美专区 | 韩日在线一区 | 黄网站免费久久 | 日韩中文字幕视频在线观看 | 97电影手机版 | 日本久久免费视频 | 日韩在线播放视频 | 日韩3区| 狠狠干天天 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | www.色的| 久久成人国产精品一区二区 | 欧洲一区二区三区精品 | 狠狠婷婷 | 日韩在线观看精品 | 婷婷播播网 | 久久综合九色综合久99 | 天天干夜夜操视频 | 一区二区三区久久 | 国产中文字幕国产 | 久久午夜鲁丝片 | 视频一区在线播放 | 国产精品成久久久久 | 国内外成人在线 | 97成人资源站 | 国产精品白浆 | 正在播放亚洲精品 | 成人黄色在线观看视频 | 综合伊人av| 精品久久久久久久 | 91在线播放视频 | 精品美女在线视频 | 国产在线不卡 | 97视频免费播放 | 热久久99这里有精品 | 国产精品成人免费一区久久羞羞 | 91粉色视频| 亚洲精品综合一二三区在线观看 | 午夜电影久久久 | 97天天干| 在线观看日韩中文字幕 | 日本少妇视频 | 久久久人 | 狠狠色狠狠色 | 又色又爽又黄高潮的免费视频 | 亚洲精选视频免费看 | 国产精品久久久久四虎 | 免费在线黄色av | 国产成人av一区二区三区在线观看 | 免费看一及片 | 免费麻豆网站 | 99九九视频| 亚洲精品国产日韩 | 国产精品免费视频网站 | 四虎在线免费观看 | 国产蜜臀av | 99久久精品国产欧美主题曲 | 999久久久久久久久久久 | 国色天香永久免费 | 国产精品一区二区三区电影 | 97精品超碰一区二区三区 | 99精品成人 | 亚洲精品美女久久17c | 日日麻批40分钟视频免费观看 | 久久亚洲精品电影 | www.xxx.性狂虐 | 亚洲毛片在线观看. | 午夜精品久久久久久久久久久久 | 日韩亚洲在线视频 | 超碰国产在线 | 91精品国产成人 | 在线观看 国产 | 亚洲激色 | 国产精品久久久久久久久岛 | 亚洲国产影院 | 国产专区在线看 | 国产精品丝袜 | 超碰在线天天 | 天天色天天色 | 免费在线电影网址大全 | 91亚洲网 | 国产粉嫩在线观看 | 国产精品免费观看视频 | 99热超碰在线 | 成人国产在线 | 欧美日韩国产精品一区二区亚洲 | 国产伦理久久精品久久久久_ | 国产在线色站 | 亚洲电影图片小说 | 亚洲国产成人久久 | 成人精品国产免费网站 | 国色天香第二季 | 成人在线播放免费观看 | 免费福利片2019潦草影视午夜 | 欧美精品资源 | 免费男女羞羞的视频网站中文字幕 | 国产高清小视频 | 国产99爱| 亚洲成人资源在线观看 | 色91在线视频 | 日韩一级精品 | 久久综合精品国产一区二区三区 | 久久久久久久久久网站 | 亚洲最大免费成人网 | 又黄又爽又湿又无遮挡的在线视频 | 婷婷伊人网 | 婷婷网五月天 | 国产成人亚洲精品自产在线 | www五月婷婷 | 2022国产精品视频 | 在线免费观看国产精品 | 人人爽人人澡 | 国产高清视频 | 色五月情 | 国产精品亚洲视频 | 精品99免费视频 | 久草视频在线资源 | 午夜av日韩 | 欧美精品久久久久久久久久丰满 | 99成人免费视频 | 国产精品亚洲精品 | 国产成人一区二区在线观看 | 欧美另类v | www激情com | 国产成人在线网站 | 伊人热 | 久草在线免费看视频 | 久久久久久激情 | 国产精品一区二区三区在线播放 | 国产高清视频免费 | 日日骑| 欧美日韩在线观看不卡 | 91入口在线观看 | 日韩视频免费观看高清 | 亚洲va男人天堂 | 成人小电影在线看 | 亚洲区二区 | 国产午夜一区 | 久久久在线视频 | 成人97人人超碰人人99 | 亚洲国产三级在线观看 | 亚洲精品国产精品久久99 | 国产精品免费不卡 | 黄色在线观看www | 精品视频专区 | 免费成人av网站 | 色综合久久久久网 | 亚洲精品99久久久久久 | 久草在线资源网 | 久久国产三级 | 嫩草伊人久久精品少妇av | 中文字幕乱码一区二区 | 九九九在线 | 日本中文字幕视频 | 国产精品美女久久久久久网站 | 手机在线欧美 | 国产精品中文 | 日韩成人免费在线 | 精品电影一区 | 日韩天堂在线观看 | 国产精品初高中精品久久 | 五月婷婷一区二区三区 | 激情久久伊人 | 国产成人精品一区二区三区免费 | 亚洲精品一区二区三区在线观看 | 日韩激情在线视频 | 成人97视频一区二区 | 91精品国自产在线 | av再线观看 | 手机av观看 | av成人在线电影 | 狠狠色狠狠色综合日日92 | 国产麻豆精品一区二区 | 日本性视频 | 日本婷婷色 | 国内丰满少妇猛烈精品播 | 久久在视频 | 69成人在线 | 欧美日韩精品二区第二页 | 亚洲精品小视频在线观看 | 二区三区在线视频 | 久久精品视频网站 | www.久久免费视频 | 国产日韩欧美在线播放 | 日韩视频中文字幕 | 亚洲黄色一级视频 | 五月综合激情网 | 国产小视频在线 | 欧美专区亚洲专区 | 国产大陆亚洲精品国产 | 久草在线费播放视频 | 97精品伊人 | 麻豆手机在线 | 久久久国产精品成人免费 | 国产精品久久久久久久久岛 | 亚洲国产日韩欧美在线 | 18+视频网站链接 | 九月婷婷色 | 在线欧美国产 | 色综合天天综合网国产成人网 | 日本中文字幕在线免费观看 | 日韩精品一区二区三区不卡 | 亚洲免费精品一区二区 | 国产成人精品一区二三区 | 亚洲精品动漫久久久久 | 日韩黄色在线 | 久久成人国产精品 | 久久精品美女视频 | 久久精品99国产国产 | 日韩三区在线观看 | 日韩电影中文字幕 | 精品国产乱码一区二区三区在线 | 免费日韩一区二区三区 | 亚洲久草视频 | 在线观看视频日韩 | 国产精品二区在线 | av丝袜在线 | 成人在线视频论坛 | 久久av免费 | 精品中文字幕视频 | 欧美日韩视频免费 | 91理论片午午伦夜理片久久 | 波多野结衣小视频 | 免费观看一级视频 | www.天天射| 日韩精品一区在线观看 | 午夜av免费| 国产美女精品 | 中文在线天堂资源 | 99久久夜色精品国产亚洲96 | 久久精品一区二 | 在线观看日韩av | 色婷婷综合五月 | 国产精品12345 | 国产精品久久免费看 | 日韩欧美中文 | 国产一区二区久久久久 | 97人人模人人爽人人喊网 | 在线欧美最极品的av | 精品uu| 人人添人人澡人人澡人人人爽 | 欧美久久成人 | av在线免费网 | 黄a在线 | 婷婷色伊人 | 精品亚洲网| 久久久久高清 | 丁香视频全集免费观看 | 四虎影视久久久 | 人人爽人人爽人人爽 | 二区三区在线视频 | 中文字幕第一页在线播放 | 日韩免费在线网站 | 91成人精品国产刺激国语对白 | 波多野结衣一区二区三区中文字幕 | 亚洲手机天堂 | 日韩av不卡播放 | 精品久久九九 | 中文免费在线观看 | 激情婷婷在线观看 | 999久久久免费精品国产 | 日韩午夜在线 | 国产精品自拍在线 | 天天操狠狠干 | 国产精彩视频一区二区 | 久久超级碰视频 | 男女激情免费网站 | 国产手机在线观看视频 | 一级欧美黄 | 色综合咪咪久久网 | av中文天堂在线 | 久久久国产一区二区三区四区小说 | 欧美综合在线视频 | 日韩极品视频在线观看 | 五月天婷亚洲天综合网精品偷 | 欧美另类高潮 | 亚洲专区在线视频 | 欧美一二三区在线播放 | 日韩免费福利 | 国产精品密入口果冻 | 国产精品手机在线观看 | 日韩av免费在线电影 | 久久激情视频网 | av免费在线免费观看 | 日韩在线高清免费视频 | 欧美性大战久久久久 | 麻豆视频在线播放 | 玖玖玖在线 | 久草视频免费播放 | 国产一区二区免费看 | 久久电影网站中文字幕 | 免费看成人 | 日本中文字幕在线免费观看 | 欧美a视频在线观看 | 色资源在线 | 99这里有精品 | 91片网| av免费看看| 精品国产一区二区三区男人吃奶 | 欧美日韩不卡在线视频 | 中文字幕 在线看 | 免费观看av| 久久成年人网站 | av片免费播放 | 992tv人人网tv亚洲精品 | 久久国内视频 | 亚洲人成影院在线 | 黄网站污 | 三上悠亚一区二区在线观看 | 精品国产一区二区三区四 | 一本一道波多野毛片中文在线 | 天天射天天射天天射 | 人人爽人人看 | 免费一级片视频 | 91精品黄色 | 免费 在线 中文 日本 | 天天草天天草 | 精品国产自在精品国产精野外直播 | 国产精品去看片 | 一区二区中文字幕在线观看 | 不卡的一区二区三区 | 日韩网站免费观看 | av免费在线看网站 | 国产视频在线免费观看 | 中文字幕在线精品 | 国产手机在线视频 | 97超在线视频 | 日p在线观看 | 亚洲精品视频在线观看网站 | 婷婷亚洲综合五月天小说 | 久福利| 免费看黄在线观看 | 日韩精品久久久久久中文字幕8 | www.久久久 | 91精选在线| 超级碰碰碰免费视频 | 99爱国产精品 | 久久久国产一区 | 国产伦精品一区二区三区免费 | 激情五月在线 | 国产精品婷婷午夜在线观看 | 伊人五月天婷婷 | 国产小视频精品 | 婷婷激情五月 | 国产高清免费在线观看 | 国产精品手机在线播放 | 欧美一级电影在线观看 | 日韩xxxbbb | 午夜影院在线观看18 | 国产黄色特级片 | 国产手机在线 | 久久久免费观看完整版 | 99福利影院 | 国产一区二区免费在线观看 | 天天操天天色天天射 | 欧美激情视频一二三区 | 色香蕉在线 | www.大网伊人 | 日韩中文在线观看 | 91日韩免费 | 丁香花中文字幕 | 午夜精品三区 | 亚洲午夜精品久久久久久久久 | 亚洲精品乱码久久 | av成人在线观看 | 亚洲另类久久 | 五月开心六月伊人色婷婷 | 99在线观看免费视频精品观看 | 一区二区观看 | 久久y| 国产亚洲婷婷 | 91成年人在线观看 | 国产成人黄色av | 免费看十八岁美女 | 国产美女视频 | 91在线免费视频 | 丁香综合激情 | 亚洲va欧美va人人爽春色影视 | 午夜视频一区二区三区 | 久久一区二区三区超碰国产精品 | 国产日韩精品一区二区三区 | 伊人看片 | 国产精品久久久久一区二区三区 | 97精品久久 | 一区二区伦理 | 午夜精品久久久久久久99无限制 | 久久久久女人精品毛片九一 | 又黄又网站| 久久久久影视 | 久久人人精品 | 天天干天天操av | 精品国产乱码久久久久久浪潮 | 黄色美女免费网站 | 激情久久久久久久久久久久久久久久 | 久99久在线| 欧美日韩国产在线 | 西西人体www444 | 日日碰夜夜爽 | 人人爽人人爽人人片av免 | 亚洲理论在线观看 | 久草在线资源观看 | 国产福利91精品一区 | av中文字幕免费在线观看 | 中文字幕视频播放 | 国产在线免费观看 | 精品一区 在线 | www视频免费在线观看 | 成人av直播 | 久久激情视频 久久 | av免费看看 | 中文字幕一区二区三 | 97超碰.com | 国产视频91在线 | 国产精品av免费观看 | 狠狠的干狠狠的操 | 久久婷婷精品 | 国产精品福利小视频 | 免费a网 | 日韩啪视频 | 91高清不卡 | 国产一级片不卡 | 欧美精品在线一区 | 国产成人99av超碰超爽 | 91在线免费播放视频 | 亚洲免费观看视频 | 午夜三级大片 | 色资源二区在线视频 | 久久视频精品在线 | 深夜免费福利在线 | 国产大陆亚洲精品国产 | 一级黄色免费网站 | 成人久久18免费网站 | 色wwwww| 国产精品igao视频网网址 | 美女福利视频 | 国内精品久久久久影院优 | 2020天天干夜夜爽 | 97人人看 | 999精品网 | 激情综合色综合久久 | 日韩电影久久久 | 久久久国产精品一区二区三区 | 99re在线视频观看 | 欧美成人xxx | 五月天婷婷在线视频 | 一级久久精品 | 97精品国产手机 | 成人a v视频| 久草精品视频在线观看 | 色欧美88888久久久久久影院 | 综合天堂av久久久久久久 | 亚洲经典精品 | 97成人在线观看视频 | 日韩理论片在线观看 | 综合激情网 | 国产精品久久在线 | 成人一区二区在线 | 江苏妇搡bbbb搡bbbb | 久草在线在线精品观看 | 久草视频网 | 精品亚洲视频在线观看 | 国产精品视频永久免费播放 | 久二影院 | 国产99久久久精品 | 国产精品久久影院 | 97在线视频观看 | 波多野结衣一区 | 日韩电影在线看 | 日本中文字幕电影在线免费观看 | 欧美精品在线观看一区 | 三级av网| 91大神一区二区三区 | 97av色| 91视频这里只有精品 | 久久网址 | 欧美综合在线观看 | 国产123区在线观看 国产精品麻豆91 | 美女视频是黄的免费观看 | 97国产超碰在线 | 精品五月天 | 国产黑丝一区二区 | 在线观看91精品国产网站 | 免费三级大片 | 久久久久福利视频 | 波多野结衣资源 | 在线观看视频 | 欧美怡红院视频 | 偷拍精品一区二区三区 | 欧美久久久久久久久久久 | 日韩免费在线视频观看 | 国产精品一区二区你懂的 | 午夜久久久久久久久久久 | 97热视频 | 91在线影院 | av福利在线 | 亚洲人成影院在线 | 国产污视频在线观看 | 四虎伊人 | 国产伦精品一区二区三区免费 | 99热在线这里只有精品 | 黄av资源 | 日韩在线 一区二区 | 欧美国产一区在线 | 国产不卡免费 | 99re视频在线观看 | 爱情影院aqdy鲁丝片二区 | 91手机视频 | 蜜臀久久99精品久久久无需会员 | 99在线视频免费观看 | 激情中文字幕 | 热久久电影 | 日韩视频a| 久久久久女人精品毛片九一 | 日韩精品一区二区三区免费视频观看 | 婷婷中文字幕综合 | 91精品伦理 | 叶爱av在线| 99re在线视频观看 | 亚洲精品网页 | 在线看国产精品 | 中文字幕在线一二 | 国产黄a三级| 欧美巨大荫蒂茸毛毛人妖 | 免费日韩一区二区三区 | 久久久亚洲国产精品麻豆综合天堂 | 中文字幕中文字幕在线中文字幕三区 | 日韩欧美在线高清 | 精品一区欧美 | 日韩毛片精品 | 中文字幕网站视频在线 | 黄a在线看 | 色综合五月 | 一区二区三区四区在线 | 日韩毛片在线免费观看 | 日韩免费一区 | 久久激情五月丁香伊人 | 免费三级大片 | 亚洲成人高清在线 | 日日躁你夜夜躁你av蜜 | 国产一区国产二区在线观看 | 午夜精品电影一区二区在线 | 91网站在线视频 | 天天干天天干天天 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 在线观看 亚洲 | 成年人免费观看国产 | 色91在线视频| 韩国在线一区 | 天天色天天色天天色 | 97碰碰视频| 久久av免费电影 | 国产精品丝袜 | 午夜久久福利 | 伊人丁香 | 久久精品区 | 91污视频在线 | 日本精品久久久久 | 六月天色婷婷 | 精品国产99 | 欧美激情精品久久久久 | 国产精品国产三级在线专区 | 99久久99久久精品国产片 | 亚洲黄色片一级 | 亚洲人成精品久久久久 | 日韩高清免费电影 | 成人免费视频播放 | 日本精品视频在线观看 | 国产精品一区二区精品视频免费看 | 在线а√天堂中文官网 | 欧美精品免费在线观看 | 色噜噜日韩精品欧美一区二区 | 亚洲人成在线电影 | 欧美色道| 国产老熟 | 嫩草91影院| 91九色免费视频 | 国产麻豆精品免费视频 | 五月天国产精品 | 久久亚洲国产精品 | 亚洲四虎 | 国产黄色片一级 | 黄色一级免费网站 | 久9在线 | 国产成人专区 | 午夜精品一区二区三区免费视频 | 久久免费av电影 | 亚洲黄色激情小说 | 天天操人| 一色屋精品视频在线观看 | 日韩av免费在线看 | 国产精品99在线播放 | 美女视频黄免费的久久 | 最近日本mv字幕免费观看 | 日本中文乱码卡一卡二新区 | 亚洲专区免费观看 | 国产精品不卡视频 | 欧美日韩超碰 | 色婷婷狠狠五月综合天色拍 | 国产欧美精品在线观看 | 国产精品久久久久久高潮 | 成人亚洲欧美 | 精品久久91 | 丁香综合av| 在线视频区 | 日日摸日日 | 婷婷精品国产欧美精品亚洲人人爽 | 国产黄色片网站 | 亚洲最新毛片 | 欧美视频一区二 | 日日夜夜精品免费 | 欧美a级片免费看 | 欧美福利在线播放 | 不卡的av在线播放 | 亚洲精品乱码久久久久久按摩 | 欧美精品xx | 激情欧美丁香 | www国产亚洲| 四虎成人免费影院 | 丁香婷婷激情啪啪 | 国产成人精品aaa | 天堂va欧美va亚洲va老司机 | 国产艹b视频 | 黄色aaa毛片 | 亚洲91av| 96久久| 日韩美在线 | 国产精品6999成人免费视频 | 天天色天天上天天操 | 欧美日韩国产区 | 中文字幕欧美三区 | 久久久久久久久久久福利 | 国产精品视频资源 | 在线中文日韩 | 国产精品视频999 | 国产日韩在线观看一区 | 视频一区二区免费 | 一区在线免费观看 | 色干干 | 国产精品成人在线 | 在线视频日韩欧美 | 亚洲天天做 | 一区二区日韩av | 在线导航av | 日韩网站一区二区 | 亚洲精品 在线视频 | 在线观看爱爱视频 | 国产真实精品久久二三区 | 久久精品5| 婷婷久久综合九色综合 | 国产99色 | 日韩手机在线观看 | 国产精品亚 | 激情视频免费在线观看 | 久久久久久电影 | 免费观看久久久 | 婷婷丁香色 | 亚洲国产三级在线观看 | 国产精品xxxx18a99 | 亚洲精品999 | 97人人澡人人爽人人模亚洲 | 丁香色婷 | 国产一级在线免费观看 | 91精品在线观看视频 | 国产看片网站 | 亚洲综合视频在线播放 | 亚洲年轻女教师毛茸茸 | 天天综合网天天综合色 | 黄色大片免费网站 | 久久精品国产亚洲a | 亚洲视频播放 | 99久久精品午夜一区二区小说 | 一区中文字幕 | 久久精品男人的天堂 | 国产精品女教师 | 国内精品在线看 | 国产91免费观看 | 欧美精品免费一区二区 | 91香蕉视频 mp4 | 日本久久影视 | 在线亚洲激情 | 久草观看视频 | av成人在线观看 | 狠狠干婷婷色 | 狠狠操夜夜 | 99这里都是精品 | 精品国产一区二区三区四区在线观看 | 国产成人精品一区二三区 | 嫩模bbw搡bbbb搡bbbb | 97免费在线视频 | 顶级欧美色妇4khd | 日韩av免费大片 | 日本精品视频在线播放 | www.大网伊人 | 美女视频一区 | 高清在线一区二区 | 亚洲精品在线电影 | 欧美日韩在线第一页 | 91免费国产在线观看 | 色婷婷一区 | 欧美日韩国产综合网 | 国产精品成人a免费观看 | 在线免费黄色av | 夜夜操天天干 | 久久久影院官网 | 黄色三级av | av在线不卡观看 | 男女激情网址 | 激情婷婷久久 | 国产黄在线免费观看 | 丰满少妇麻豆av | 黄色免费视频在线观看 | 伊人小视频 | 91精品国产自产在线观看永久 | 超碰在线人人97 | 综合在线色| 91精品啪在线观看国产81旧版 | 日韩在线大片 | 91麻豆精品国产91久久久久久久久 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 正在播放日韩 | 中文字幕高清免费日韩视频在线 |