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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

用redis+jwt保存在线用户和获得在线用户列表、踢出用户示例

發布時間:2024/9/30 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用redis+jwt保存在线用户和获得在线用户列表、踢出用户示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • redis工具類
  • 用戶實體類
  • token配置
  • service層保存和查詢在線用戶
  • 工具類 獲得用戶瀏覽器等其他信息
  • controller層

redis工具類

import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.Cursor; import org.springframework.data.redis.core.RedisConnectionUtils; @Component @SuppressWarnings({"unchecked", "all"}) public class RedisUtils {private RedisTemplate<Object, Object> redisTemplate;@Value("${jwt.online-key}")private String onlineKey;public RedisUtils(RedisTemplate<Object, Object> redisTemplate) {this.redisTemplate = redisTemplate;}/*** 根據 key 獲取過期時間* @param key 鍵 不能為null* @return 時間(秒) 返回0代表為永久有效*/public long getExpire(Object key) {return redisTemplate.getExpire(key, TimeUnit.SECONDS);}/*** 查找匹配key* @param pattern key* @return /*/public List<String> scan(String pattern) {ScanOptions options = ScanOptions.scanOptions().match(pattern).build();RedisConnectionFactory factory = redisTemplate.getConnectionFactory();RedisConnection rc = Objects.requireNonNull(factory).getConnection();Cursor<byte[]> cursor = rc.scan(options);List<String> result = new ArrayList<>();while (cursor.hasNext()) {result.add(new String(cursor.next()));}try {RedisConnectionUtils.releaseConnection(rc, factory);} catch (Exception e) {e.printStackTrace();}return result;}/*** 分頁查詢 key* @param patternKey key* @param page 頁碼* @param size 每頁數目* @return /*/public List<String> findKeysForPage(String patternKey, int page, int size) {ScanOptions options = ScanOptions.scanOptions().match(patternKey).build();RedisConnectionFactory factory = redisTemplate.getConnectionFactory();RedisConnection rc = Objects.requireNonNull(factory).getConnection();Cursor<byte[]> cursor = rc.scan(options);List<String> result = new ArrayList<>(size);int tmpIndex = 0;int fromIndex = page * size;int toIndex = page * size + size;while (cursor.hasNext()) {if (tmpIndex >= fromIndex && tmpIndex < toIndex) {result.add(new String(cursor.next()));tmpIndex++;continue;}// 獲取到滿足條件的數據后,就可以退出了if (tmpIndex >= toIndex) {break;}tmpIndex++;cursor.next();}try {RedisConnectionUtils.releaseConnection(rc, factory);} catch (Exception e) {e.printStackTrace();}return result;}/*** 判斷key是否存在* @param key 鍵* @return true 存在 false不存在*/public boolean hasKey(String key) {try {return redisTemplate.hasKey(key);} catch (Exception e) {e.printStackTrace();return false;}}/*** 刪除緩存* @param key 可以傳一個值 或多個*/public void del(String... key) {if (key != null && key.length > 0) {if (key.length == 1) {redisTemplate.delete(key[0]);} else {redisTemplate.delete(CollectionUtils.arrayToList(key));}}}/*** 普通緩存獲取* @param key 鍵* @return 值*/public Object get(String key) {return key == null ? null : redisTemplate.opsForValue().get(key);}/*** 批量獲取* @param keys* @return*/public List<Object> multiGet(List<String> keys) {Object obj = redisTemplate.opsForValue().multiGet(Collections.singleton(keys));return null;}/*** 普通緩存放入* @param key 鍵* @param value 值* @return true成功 false失敗*/public boolean set(String key, Object value) {try {redisTemplate.opsForValue().set(key, value);return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 普通緩存放入并設置時間* @param key 鍵* @param value 值* @param time 時間(秒) time要大于0 如果time小于等于0 將設置無限期* @return true成功 false 失敗*/public boolean set(String key, Object value, long time) {try {if (time > 0) {redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);} else {set(key, value);}return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 普通緩存放入并設置時間* @param key 鍵* @param value 值* @param time 時間* @param timeUnit 類型* @return true成功 false 失敗*/public boolean set(String key, Object value, long time, TimeUnit timeUnit) {try {if (time > 0) {redisTemplate.opsForValue().set(key, value, time, timeUnit);} else {set(key, value);}return true;} catch (Exception e) {e.printStackTrace();return false;}}//省略其他操作map的方法 }

用戶實體類

@Data @AllArgsConstructor @NoArgsConstructor public class OnlineUser {private String userName;private String nickName;private String job;private String browser;private String ip;private String address;private String key;private Date loginTime;}

token配置

securityproerties:

@Data @Configuration(proxyBeanMethods = false) @ConfigurationProperties(prefix = "jwt") public class SecurityProperties {/** Request Headers : Authorization */private String header;/** 令牌前綴,最后留個空格 Bearer */private String tokenStartWith;/** 必須使用最少88位的Base64對該令牌進行編碼 */private String base64Secret;private String secret;/** 令牌過期時間 此處單位/毫秒 */private Long tokenValidityInSeconds;/** 在線用戶 key,根據 key 查詢 redis 中在線用戶的數據 */private String onlineKey;/** 驗證碼 key */private String codeKey;public String getTokenStartWith() {return tokenStartWith + " ";} }

其中Yml配置:

#jwt jwt:header: Authorization# 令牌前綴token-start-with: Bearersecret: k09BQnaF# 必須使用最少88位的Base64對該令牌進行編碼base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=# 令牌過期時間 此處單位/毫秒 ,默認4小時,可在此網站生成 https://www.convertworld.com/zh-hans/time/milliseconds.htmltoken-validity-in-seconds: 14400000# 在線用戶keyonline-key: online-token# 驗證碼code-key: code-key

service層保存和查詢在線用戶

在線用戶層

@Service @Slf4j public class OnlineUserService {private final SecurityProperties properties;//這個特性類的屬性在上面private RedisUtils redisUtils;public OnlineUserService(SecurityProperties properties, RedisUtils redisUtils) {this.properties = properties;this.redisUtils = redisUtils;}/*** 保存在線用戶信息* @param jwtUser /* @param token /* @param request /*/public void save(JwtUser jwtUser, String token, HttpServletRequest request) {String job = jwtUser.getDept() + "/" + jwtUser.getJob();String ip = StringUtils.getIp(request);String browser = StringUtils.getBrowser(request);String address = StringUtils.getCityInfo(ip);OnlineUser onlineUser = null;try {onlineUser = new OnlineUser(jwtUser.getUsername(), jwtUser.getNickName(), job, browser, ip, address, EncryptUtils.desEncrypt(token), new Date());} catch (Exception e) {e.printStackTrace();}redisUtils.set(properties.getOnlineKey() + token, onlineUser, properties.getTokenValidityInSeconds() / 1000);}/*** 查詢全部數據 分頁* @param filter /* @param pageable /* @return /*/public Map<String, Object> getAll(String filter, int type, Pageable pageable) {List<OnlineUser> onlineUsers = getAll(filter, type);return PageUtil.toPage(PageUtil.toPage(pageable.getPageNumber(), pageable.getPageSize(), onlineUsers),onlineUsers.size());}/*** 查詢全部數據,不分頁* @param filter /* @return /*/public List<OnlineUser> getAll(String filter, int type) {List<String> keys = null;if (type == 1) {keys = redisUtils.scan("m-online-token*");} else {keys = redisUtils.scan(properties.getOnlineKey() + "*");}Collections.reverse(keys);List<OnlineUser> onlineUsers = new ArrayList<>();for (String key : keys) {OnlineUser onlineUser = (OnlineUser) redisUtils.get(key);if (StringUtils.isNotBlank(filter)) {if (onlineUser.toString().contains(filter)) {onlineUsers.add(onlineUser);}} else {onlineUsers.add(onlineUser);}}onlineUsers.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime()));return onlineUsers;}/*** 踢出用戶* @param key /* @throws Exception /*/public void kickOut(String key) throws Exception {key = properties.getOnlineKey() + EncryptUtils.desDecrypt(key);redisUtils.del(key);}/*** 踢出移動端用戶* @param key /* @throws Exception /*/public void kickOutT(String key) throws Exception {String keyt = "m-online-token" + EncryptUtils.desDecrypt(key);redisUtils.del(keyt);}/*** 退出登錄* @param token /*/public void logout(String token) {String key = properties.getOnlineKey() + token;redisUtils.del(key);}/*** 檢測用戶是否在之前已經登錄,已經登錄踢下線* @param userName 用戶名*/public void checkLoginOnUser(String userName, String igoreToken) {List<OnlineUser> onlineUsers = getAll(userName, 0);if (onlineUsers == null || onlineUsers.isEmpty()) {return;}for (OnlineUser onlineUser : onlineUsers) {if (onlineUser.getUserName().equals(userName)) {try {String token = EncryptUtils.desDecrypt(onlineUser.getKey());if (StringUtils.isNotBlank(igoreToken) && !igoreToken.equals(token)) {this.kickOut(onlineUser.getKey());} else if (StringUtils.isBlank(igoreToken)) {this.kickOut(onlineUser.getKey());}} catch (Exception e) {log.error("checkUser is error", e);}}}}}

工具類 獲得用戶瀏覽器等其他信息

上面的StringUtils工具類有一些獲取信息的方法:

import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import eu.bitwalker.useragentutils.Browser; import eu.bitwalker.useragentutils.UserAgent;import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Calendar; import java.util.Date; public class StringUtils extends org.apache.commons.lang3.StringUtils {/*** 獲取ip地址*/public static String getIp(HttpServletRequest request) {String ip = request.getHeader("x-forwarded-for");if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}String comma = ",";String localhost = "127.0.0.1";if (ip.contains(comma)) {ip = ip.split(",")[0];}if (localhost.equals(ip)) {// 獲取本機真正的ip地址try {ip = InetAddress.getLocalHost().getHostAddress();} catch (UnknownHostException e) {e.printStackTrace();}}return ip;}/*** 根據ip獲取詳細地址*/public static String getCityInfo(String ip) {String api = String.format(YshopConstant.Url.IP_URL, ip);JSONObject object = JSONUtil.parseObj(HttpUtil.get(api));return object.get("addr", String.class);}//獲取用戶瀏覽器名字public static String getBrowser(HttpServletRequest request) {UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));Browser browser = userAgent.getBrowser();return browser.getName();}/*** 獲得當天是周幾*/public static String getWeekDay() {String[] weekDays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};Calendar cal = Calendar.getInstance();cal.setTime(new Date());int w = cal.get(Calendar.DAY_OF_WEEK) - 1;if (w < 0) {w = 0;}return weekDays[w];} }

controller層

@RestController @RequestMapping("/auth/online") @Api(tags = "系統:在線用戶管理") public class OnlineController {private final OnlineUserService onlineUserService;public OnlineController(OnlineUserService onlineUserService) {this.onlineUserService = onlineUserService;}@ApiOperation("查詢在線用戶")@GetMapping@PreAuthorize("@el.check()")public ResponseEntity<Object> getAll(@RequestParam(value = "filter", defaultValue = "") String filter,@RequestParam(value = "type", defaultValue = "0") int type,Pageable pageable) {return new ResponseEntity<>(onlineUserService.getAll(filter, type, pageable), HttpStatus.OK);}@ApiOperation("踢出用戶")@DeleteMapping@PreAuthorize("@el.check()")public ResponseEntity<Object> delete(@RequestBody Set<String> keys) throws Exception {for (String key : keys) {onlineUserService.kickOut(key);}return new ResponseEntity<>(HttpStatus.OK);}@ForbidSubmit@ApiOperation("踢出移動端用戶")@PostMapping("/delete")@PreAuthorize("@el.check()")public ResponseEntity<Object> deletet(@RequestBody Set<String> keys) throws Exception {for (String key : keys) {onlineUserService.kickOutT(key);}return new ResponseEntity<>(HttpStatus.OK);}

總結

以上是生活随笔為你收集整理的用redis+jwt保存在线用户和获得在线用户列表、踢出用户示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久久国产精品一区二区中文 | 午夜美女福利 | 国产日韩精品在线 | 黄色亚洲 | 狠狠色噜噜狠狠狠狠2021天天 | 日韩中文字幕网站 | 在线看片中文字幕 | 97在线观看视频免费 | 美女视频网| 在线精品视频免费播放 | 永久精品视频 | 久久午夜精品 | 国产色在线观看 | 在线视频日韩精品 | www.五月天色 | av高清一区二区三区 | 国产精品久久久久久久久久不蜜月 | 国产999久久久| 尤物九九久久国产精品的分类 | 在线免费高清 | 国产一区二区三区网站 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 国产69精品久久久久久久久久 | 91禁在线看 | 黄色精品国产 | 国产精品99爱 | 国产区高清在线 | 国产流白浆高潮在线观看 | 亚洲男男gaygay无套同网址 | 亚洲成人黄 | 天天爱综合| 亚洲精品播放 | av中文字幕日韩 | 婷婷色网址 | 国产精品99久久久久久人免费 | www.超碰97.com| 日韩激情片在线观看 | 美女黄频在线观看 | 日韩激情av在线 | av在线播放免费 | 五月婷婷视频在线 | 国产 精品 资源 | 久久久夜色 | 国产亚洲成av人片在线观看桃 | 日韩久久精品一区 | 91最新在线视频 | 亚洲网久久 | 亚洲视频在线播放 | 人人干在线 | 免费在线观看午夜视频 | 不卡中文字幕在线 | 久久久国产精品视频 | 欧美精品视 | 97视频免费观看 | 精品亚洲免a | 亚洲一区二区三区精品在线观看 | 亚洲精品中文在线资源 | 中文字幕 91 | 综合久久2023 | 日韩在线观看视频网站 | 国内成人精品视频 | 日韩视频中文字幕在线观看 | 成人av直播| 96精品高清视频在线观看软件特色 | 亚洲日本黄色 | 国产精品99免视看9 国产精品毛片一区视频 | 国产专区视频 | www.av小说| 亚洲爱爱视频 | 亚洲国产激情 | 免费亚洲黄色 | 国产自制av | 成年人三级网站 | 国产最新视频在线 | 极品嫩模被强到高潮呻吟91 | 草在线视频 | 日韩两性视频 | 成人一区不卡 | 三上悠亚一区二区在线观看 | 亚洲精品乱码久久久久久蜜桃不爽 | av中文字幕在线免费观看 | 在线观看日韩中文字幕 | 91午夜精品 | 欧美色伊人 | 狠狠色狠狠色 | 91成人精品 | 亚洲成a人片综合在线 | 精品视频123区在线观看 | 日本在线观看黄色 | 欧美在线观看视频一区二区 | 国产在线中文字幕 | 国产国语在线 | 天堂久色 | 91视频a | 99精品在线免费 | 一区二区三区免费在线观看 | 91av在线看 | 国产精品久久久一区二区三区网站 | av中文字幕日韩 | 99热国产在线中文 | 国产五月色婷婷六月丁香视频 | 欧美日韩中文国产一区发布 | 中文字幕精品三级久久久 | 精品美女在线视频 | 成人久久久久 | 久久午夜精品 | 国产精品久久久久免费 | 五月婷婷开心 | 四虎国产永久在线精品 | 欧美在线视频精品 | 国产成人精品国内自产拍免费看 | 美女视频永久黄网站免费观看国产 | 最近中文字幕视频完整版 | aaa毛片视频 | 亚洲婷婷网 | www.久久久精品 | 色婷婷综合久色 | 国产视频日韩 | 久久看毛片 | 久久婷婷激情 | 色婷婷精品大在线视频 | 精品一区二区在线观看 | 免费日p视频 | 亚洲天堂精品视频在线观看 | 中文字幕资源在线 | 欧美日韩中 | 亚州精品在线视频 | 免费精品在线观看 | 久久天堂影院 | 日日夜夜狠狠操 | 国产欧美中文字幕 | 成人国产精品久久久久久亚洲 | 色婷婷av国产精品 | 久久久免费高清视频 | 丁香电影小说免费视频观看 | 国产一区自拍视频 | 亚洲激情影院 | www.玖玖玖 | 99久久夜色精品国产亚洲96 | 2017狠狠干 | 亚洲欧美在线视频免费 | 欧美激情第28页 | 中中文字幕av在线 | 精品久久久久久久久中文字幕 | 亚洲午夜久久久久久久久 | 久草网在线视频 | 欧美尹人| av在线日韩 | 日本黄色特级片 | 最新真实国产在线视频 | 免费看黄在线观看 | 香蕉视频网址 | 日韩精品不卡 | 久草在线官网 | 国产成人一区二区三区在线观看 | 九九热在线精品视频 | 成年人网站免费观看 | 狂野欧美激情性xxxx欧美 | 国产午夜免费视频 | 成人毛片在线观看视频 | 不卡的av电影在线观看 | 国产精品6 | 久久一本综合 | 亚洲人人精品 | 又黄又爽又无遮挡免费的网站 | 久久婷婷国产色一区二区三区 | 一级片免费在线 | 国产精品久久av | 色综合久久精品 | 久久伊人精品天天 | 偷拍区另类综合在线 | 精品成人在线 | 在线观看视频日韩 | 香蕉影院在线播放 | 五月天婷婷免费视频 | 日韩在线观看视频一区二区三区 | 在线 国产 日韩 | 午夜国产一区 | 黄色日视频 | 99精品视频在线观看视频 | 最近高清中文在线字幕在线观看 | 日韩网站在线免费观看 | 亚洲 中文 欧美 日韩vr 在线 | 精品播放 | 天天操狠狠操 | 992tv在线成人免费观看 | 九九热在线观看 | 婷婷激情站| 国产 视频 久久 | 99在线视频观看 | 婷婷六月综合亚洲 | 国产一区二区在线影院 | 日韩最新在线 | 国产精品国产自产拍高清av | 天堂av在线免费观看 | 午夜精品福利影院 | 91久色蝌蚪| 欧美视频www | 中文字幕在线观看你懂的 | 婷婷午夜天 | 九色91福利 | 久草香蕉在线视频 | 久久草草影视免费网 | 国产五十路毛片 | 亚洲精品国产综合99久久夜夜嗨 | 欧美精品久久久久久久久久久 | 美女精品国产 | 人人讲 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产vs久久 | 久久久久成 | 国产成人久久久77777 | 久久网页| 888av| 97超碰资源网 | 成年人免费看 | 国产69久久久欧美一级 | 波多野结衣电影一区 | 国产女人免费看a级丨片 | 精品国产伦一区二区三区观看说明 | 91精品视频网站 | 国产专区一| 狠狠地日 | 日本久久不卡视频 | 欧美日高清视频 | 91视频免费看 | 日韩中文免费视频 | 色中色亚洲 | 精品福利网 | 伊色综合久久之综合久久 | 国内视频在线 | 日韩免费不卡视频 | 久草视频2 | 日韩视频中文字幕在线观看 | av在线免费观看黄 | 久久一区二区三区超碰国产精品 | 国产黄色片网站 | 国产九九在线 | 亚洲精品在线免费播放 | 欧美久久影院 | 国产成人综合图片 | 手机在线看片日韩 | 精品视频97| 三级毛片视频 | 黄色aaaaa| 日韩和的一区二在线 | 国产一区二区三区免费视频 | 国产高清绿奴videos | 亚洲伊人av | 五月香婷| 97电影手机| 最近2019年日本中文免费字幕 | 午夜影院三级 | 亚洲欧洲精品一区二区精品久久久 | 九九九热精品免费视频观看 | 狠狠干.com | av在线免费观看不卡 | 麻豆一级视频 | 国产不卡av在线播放 | 91精品久久久久久综合乱菊 | 久久网站免费 | 在线综合 亚洲 欧美在线视频 | 国产精品久久久久久久7电影 | 久射网 | 国产精品涩涩屋www在线观看 | 国产高清久久 | 黄色官网在线观看 | 亚洲激情在线视频 | 99精品视频网站 | 久久午夜免费视频 | 国产日韩精品欧美 | 在线国产不卡 | 亚洲欧美视频在线观看 | 国产精品久久一区二区三区不卡 | 热久久免费国产视频 | 中文理论片| 久热香蕉视频 | 久久九九影视 | 精品福利在线 | 亚洲乱码久久久 | 国产精品福利在线 | 日本中文乱码卡一卡二新区 | 综合黄色网 | 美女久久久久久久 | 日韩欧美一区二区三区在线观看 | 国内精品久久久久影院优 | 91麻豆精品国产自产在线 | 中文字幕第一页在线视频 | 亚洲精品在线免费看 | 国语精品免费视频 | 永久免费看av | 国产99久久久国产精品成人免费 | 久久久www成人免费精品 | 一区二区观看 | 成人黄色小说视频 | 免费一级片视频 | 欧美激情精品久久久久久免费 | 日韩精品中文字幕在线不卡尤物 | 97在线免费观看视频 | 亚洲涩涩色| 欧美成人手机版 | 欧美一区日韩一区 | 狠狠色丁香婷婷综合 | 91精品麻豆 | 国产高清视频在线播放一区 | 国产精品女同一区二区三区久久夜 | 天天射天天射 | 欧美日韩高清一区二区 国产亚洲免费看 | 日免费视频 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 3d黄动漫免费看 | 黄色片网站 | 中文字幕在线视频国产 | 国产精国产精品 | www91在线观看 | 黄色动态图xx | 青青草华人在线视频 | 亚洲视频 在线观看 | 狠狠狠狠狠狠干 | 美女视频黄是免费的 | 久久国产精品99久久人人澡 | 日韩电影在线一区二区 | 免费在线h| 99久久精品日本一区二区免费 | 黄色大片中国 | 男女视频国产 | 天天射天天爱天天干 | 久草男人天堂 | 综合婷婷久久 | 在线看毛片网站 | 欧美日韩二三区 | 嫩草av在线| 日韩色在线观看 | 激情偷乱人伦小说视频在线观看 | 免费男女羞羞的视频网站中文字幕 | 美女网站视频免费都是黄 | 国产a网站 | 18岁免费看片| 91视频三区 | 精品成人a区在线观看 | 黄免费网站 | 国产精品久久久久一区二区国产 | 久久999久久 | www.五月天色 | 久久国产精品久久精品国产演员表 | 亚洲人毛片 | 天天射天天色天天干 | 免费黄在线观看 | 中文在线字幕免费观看 | 精品国产一区二区三区久久久久久 | 91在线视频观看免费 | 国产精品6999成人免费视频 | 国产 日韩 在线 亚洲 字幕 中文 | 久久高清| 久久毛片网站 | 国产亚洲aⅴaaaaaa毛片 | 久草免费在线视频 | 亚洲视频每日更新 | 成人免费网站视频 | 午夜黄色 | 99色在线观看视频 | 欧美va天堂va视频va在线 | 免费看黄在线网站 | 亚洲 欧洲av | 欧美巨大 | 国产一级性生活视频 | 国产午夜精品一区二区三区 | 午夜电影久久久 | 久久精美视频 | 亚洲乱码久久 | 国产精品不卡av | av在线免费观看黄 | 91久久丝袜国产露脸动漫 | 亚洲国产精品一区二区尤物区 | 6699私人影院 | 久草在线在线视频 | 在线不卡的av | 精品福利网站 | 天堂av在线免费 | 国产大尺度视频 | 欧美大片在线看免费观看 | 人人干在线 | 一级片黄色片网站 | 色网站在线免费观看 | 91干干干 | 久久激情电影 | 99视频精品在线 | av福利免费| 天天射网站 | 日日干网址 | a黄色影院 | 色视频网站在线 | 一区电影 | 日韩二区在线 | 国产精品久久久久高潮 | 91在线视频导航 | 精品99在线| 亚洲一区在线看 | 五月婷婷影视 | 国产亚洲成人网 | 有码视频在线观看 | 色网站免费在线观看 | 欧美日韩aa | 日日夜夜天天久久 | 日韩黄在线观看 | av在线看片| 天天综合网国产 | 日韩在线观看三区 | 欧美日产一区 | 中文字幕一区二区三区乱码在线 | 久久精品综合一区 | 成人羞羞视频在线观看免费 | 久久久久久久久久影视 | 国产日产欧美在线观看 | 久久一区91 | av三级在线看 | 91精品久久久久久久99蜜桃 | 亚洲成人黄色在线观看 | 国产丝袜一区二区三区 | 欧美性久久久 | 成人国产精品免费 | 黄色一区二区在线观看 | 黄色一级免费电影 | 99精品欧美一区二区蜜桃免费 | 久久精品欧美一 | 免费国产一区二区视频 | 麻豆91在线| av免费在线网站 | 国产麻豆精品传媒av国产下载 | 成年人黄色在线观看 | 91在线免费视频 | 日韩精品视频久久 | 欧美色综合久久 | 国产精品 999 | 国产一区二区三区午夜 | 狂野欧美激情性xxxx欧美 | 午夜av一区二区三区 | 成人国产亚洲 | 国产小视频免费在线网址 | 国产在线视频在线观看 | 超碰人在线 | 久草电影在线观看 | 一区二区三区四区免费视频 | 亚洲乱码久久久 | 国产成人久久精品77777综合 | 久久99久久99久久 | 日韩高清免费观看 | 成人精品一区二区三区电影免费 | 综合网天天射 | 国产精品麻豆一区二区三区 | 黄色影院在线免费观看 | 三级av免费 | 国产在线2020 | 日韩aⅴ视频 | 97在线精品国自产拍中文 | 97精品视频在线播放 | 国产精品久久嫩一区二区免费 | 91av美女| 免费看片网址 | 日韩在线第一区 | 日韩成人精品一区二区三区 | 久久久久久久久艹 | 亚洲国产网址 | 国产成人三级一区二区在线观看一 | 黄色a视频 | av在线观 | av网站在线观看播放 | 九九久久影视 | 国产成人av综合色 | 亚洲欧美视频 | 国产视频在线免费 | 婷婷午夜 | 欧美日韩亚洲在线 | 亚洲aⅴ一区二区三区 | 久久久久久99精品 | 高潮久久久久久久久 | 国产精品色视频 | 丝袜美腿在线播放 | 免费视频 三区 | 国产第页| 五月激情久久 | 国内精品视频一区二区三区八戒 | 黄色亚洲大片免费在线观看 | 久草热久草视频 | 中文在线天堂资源 | 久久亚洲综合色 | 日韩视频免费观看高清 | 国产黄色成人 | 国产福利一区二区三区视频 | 亚洲国产中文字幕 | 国产精品成人免费精品自在线观看 | av免费看电影 | 久久艹国产视频 | 亚洲精品久久久久久久不卡四虎 | 人人干在线观看 | 五月婷在线播放 | 久久精品视频免费播放 | 欧美男同视频网站 | 色射色| 国产一二区视频 | 日韩精品一区二区三区在线视频 | 五月精品 | 欧美片一区二区三区 | 一二三久久久 | 99久久99久久精品 | 一区二区视频欧美 | 91免费看黄 | 美女黄频免费 | 久久久久久久99精品免费观看 | 国产在线观看国语版免费 | 天天做天天爱天天爽综合网 | 中文字幕在线观看一区二区 | 中文字幕超清在线免费 | 国产又粗又猛又黄又爽 | 亚洲另类视频在线观看 | 日本中文字幕电影在线免费观看 | 日韩视频 一区 | www.久艹| aaa日本高清在线播放免费观看 | 国产视频在线免费 | 91久久国产综合精品女同国语 | 男女免费av | 不卡视频在线 | 日韩免费一区二区在线观看 | 黄av免费在线观看 | 怡红院av久久久久久久 | 绯色av一区 | 亚洲综合婷婷 | 久久精品中文字幕 | 91精品国产92久久久久 | 久久久香蕉视频 | 亚洲天堂网在线视频观看 | 久久超级碰 | 国产精品系列在线 | 最近久乱中文字幕 | 国产精品美女久久久久久网站 | 久热久草| 黄av免费 | 最新婷婷色 | 五月天久久久 | 激情五月播播久久久精品 | 亚洲精品国产高清 | 国产黄a三级三级三级三级三级 | 免费国产一区二区视频 | 亚洲天堂精品视频在线观看 | 亚洲午夜久久久久久久久电影网 | 99精品国产一区二区 | 女人魂免费观看 | 欧美日韩免费一区二区 | av免费在线播放 | 天天综合五月天 | 国产精品久久久久久久久久免费看 | 狠狠躁夜夜躁人人爽超碰91 | 99久久久久| 97综合在线 | 一级特黄aaa大片在线观看 | 深爱婷婷网 | 少妇高潮流白浆在线观看 | 欧美久久久一区二区三区 | 亚洲国产午夜 | 国产精品门事件 | 99热这里只有精品国产首页 | 亚一亚二国产专区 | 午夜视频在线观看一区 | 九九热免费精品视频 | 国产99久久精品一区二区永久免费 | 在线看一区| 久久在视频 | 欧美色精品天天在线观看视频 | 99视频一区二区 | 一区在线观看视频 | 一区二区三区免费网站 | 日韩欧美国产精品 | 国产精品一区二区在线免费观看 | 亚洲精品中文字幕在线 | 国产69精品久久久久99尤 | 国产免费人成xvideos视频 | 色婷婷伊人 | 综合激情伊人 | 伊人五月婷 | 少妇bbw搡bbbb搡bbb | 黄色一区三区 | 亚洲高清网站 | 九九免费在线观看视频 | 日韩av高清在线观看 | av电影中文 | 不卡精品视频 | 亚洲男男gaygay无套 | 国产亚洲片 | 综合精品在线 | 久久看视频 | 九色91av | 天天色综合1 | 成人免费中文字幕 | 网站在线观看日韩 | 天天碰天天操视频 | 最近免费中文字幕 | 国产成人久久久77777 | 狠狠色狠狠综合久久 | 亚洲精品系列 | 激情五月色播五月 | 国产精品美女视频网站 | 四虎影视成人永久免费观看视频 | www四虎影院 | 免费一级片视频 | 亚洲男模gay裸体gay | 探花视频免费观看高清视频 | 一区二区三区电影 | av千婊在线免费观看 | 97超碰国产在线 | 色婷婷精品大在线视频 | 伊甸园av在线 | 日韩在线视频播放 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 91精品视频免费 | 91成人观看| 免费网址你懂的 | 精品99在线 | 一区二精品 | 91九色porn在线资源 | 国外成人在线视频网站 | 国产一级免费电影 | 在线精品视频免费播放 | 亚洲人成精品久久久久 | 在线亚洲高清视频 | av在线等 | 99性视频 | 97超碰成人在线 | 丰满少妇在线观看 | 亚洲作爱 | 超碰在线天天 | 国产免费久久av | 日韩专区在线观看 | 国产一区二区高清 | 91香蕉视频 mp4 | 中文在线字幕免 | 在线观看视频免费大全 | 久久精品视频网站 | 中文超碰字幕 | 久久国产精品一区二区三区四区 | 中文av日韩| 亚洲精品人人 | 欧美日韩一区二区三区视频 | 久草免费在线观看视频 | 天天干天天做天天操 | 久久精品国产免费看久久精品 | 国产日韩精品一区二区 | 久久国产精品免费一区二区三区 | 91精品国产综合久久婷婷香蕉 | 一区二区三区精品久久久 | 国产中文字幕一区二区三区 | 天天干天天操天天射 | 日日夜夜中文字幕 | 亚洲精品视频在线免费播放 | 免费高清男女打扑克视频 | 999国内精品永久免费视频 | 成人av电影免费在线观看 | 亚洲精品视频在 | 欧美日韩午夜 | 一级做a爱片性色毛片www | 亚洲黄色区 | 成年人免费看片网站 | 国产91精品一区二区麻豆网站 | 日日天天狠狠 | 奇米网在线观看 | 伊人婷婷网 | 一区二区视频在线播放 | 成人网色 | 精品一区中文字幕 | 色婷婷av在线 | 色爽网站 | 欧美日本一二三 | www国产亚洲精品久久网站 | 久久国产免费 | 国产小视频福利在线 | 日韩国产精品一区 | 久久亚洲福利视频 | 六月丁香在线视频 | 日韩色综合| 一级a毛片高清视频 | 中文区中文字幕免费看 | 在线天堂日本 | 二区三区视频 | 成年人看片网站 | 美女网站一区 | 亚洲第一区在线观看 | 黄色三级网站在线观看 | 国产精品午夜久久久久久99热 | 日韩欧美精品一区 | 欧美亚洲精品在线观看 | 日韩视频1区 | 久久公开免费视频 | 国产精品99精品久久免费 | 亚洲电影一区二区 | 国产一区免费观看 | 国产成人久久77777精品 | 在线观看视频国产一区 | 国产成人av电影 | 国产精品久久久久久久免费观看 | 欧美极品一区二区三区 | av观看在线观看 | 91九色视频国产 | 911香蕉 | 国产精品九九九九九 | 国产区第一页 | 7799av| 国产亚洲精品美女久久 | 日韩美精品视频 | 中文字幕在线视频一区二区 | a级片久久| 色综合久久五月 | 日p视频 | 国产中文字幕在线观看 | 99热精品国产一区二区在线观看 | 日韩在线视| 国产在线精品国自产拍影院 | 日韩av黄| 日本黄色大片免费 | 欧美a级在线免费观看 | 国产在线国偷精品产拍免费yy | 国产视频第二页 | 久草久视频 | 69久久99精品久久久久婷婷 | 久久手机免费观看 | 91福利视频免费观看 | 天堂av在线网址 | 久久人人爽人人爽人人片av免费 | 精品一二区 | 奇米影视8888在线观看大全免费 | 日韩毛片在线免费观看 | 另类老妇性bbwbbw高清 | 亚洲天堂网在线视频观看 | 久久99精品国产99久久 | 日韩精品一区二 | 西西大胆啪啪 | 97涩涩视频 | 在线观看资源 | 国产高清视频在线播放 | 欧美资源| 丝袜av一区 | 美女黄频在线观看 | 狠狠狠的干 | 国产免费又粗又猛又爽 | 亚洲片在线观看 | 国产伦理一区二区三区 | 美女久久久久久 | 成人免费共享视频 | 久久免费播放视频 | 国产亚洲精品精品精品 | 日本久久久亚洲精品 | 嫩草伊人久久精品少妇av | 国产精品ssss在线亚洲 | 成人在线网站观看 | 国产系列 在线观看 | 久久精品日韩 | 久久久噜噜噜久久久 | 国产999视频 | 日韩v在线91成人自拍 | 97超碰国产精品女人人人爽 | 中文国产在线观看 | 免费日韩三级 | 欧美激情视频一二区 | 精品免费国产一区二区三区四区 | 激情综合狠狠 | 国产18精品乱码免费看 | 2019中文字幕第一页 | 91精品一区二区三区蜜桃 | 久久少妇免费视频 | 国产大陆亚洲精品国产 | 精品国产一区二区三区四 | 五月婷婷六月丁香激情 | 国产日产精品久久久久快鸭 | 中文字幕免费久久 | 国产成人精品一区二区三区在线观看 | 一区二区三区日韩视频在线观看 | 黄色小说在线免费观看 | 亚洲精品国产免费 | 久久夜夜爽 | 特级西西444www大精品视频免费看 | 天天干天天干天天操 | 999成人免费视频 | 亚洲 欧美 日韩 综合 | 伊人天堂久久 | 色狠狠干 | 欧美aⅴ在线观看 | 在线观看成人小视频 | 免费看片网址 | 91在线视频免费播放 | 亚洲一区二区三区精品在线观看 | 亚洲欧美视频在线观看 | 免费激情在线电影 | 国产成人1区 | 欧美analxxxx | 91精品国产自产在线观看永久 | 999久久久久久久久 69av视频在线观看 | 国产精品av在线免费观看 | 天天射天天艹 | 欧美另类美少妇69xxxx | 日韩最新在线视频 | 亚洲另类视频在线 | 久久久久久草 | aaa日本高清在线播放免费观看 | 99视频精品免费观看, | 亚洲视频 视频在线 | 99麻豆久久久国产精品免费 | 日韩久久精品 | 久久欧美在线电影 | 久久精品视频网 | 久久电影国产免费久久电影 | 99久久99久久| 手机在线中文字幕 | 成人h电影在线观看 | 久久 国产一区 | 成人一区二区三区中文字幕 | 园产精品久久久久久久7电影 | 四虎国产视频 | 日韩av中文 | 91九色蝌蚪视频网站 | 97在线免费视频观看 | 日日摸日日碰 | 欧美视频日韩视频 | 精品二区久久 | 蜜臀久久99精品久久久酒店新书 | 最近av在线| 午夜精品电影一区二区在线 | 欧美精品一区二区免费 | 国产精品成人av电影 | 福利视频一区二区 | 久久综合中文字幕 | 婷婷成人在线 | 少妇bbb搡bbbb搡bbbb | 亚洲国产黄色片 | 日日干干 | 国产 欧美 日产久久 | 免费看片在线观看 | 在线观看日韩视频 | 黄色在线免费观看网址 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产精品一区二区三区在线看 | 国产成人精品一区二区三区免费 | 国产乱视频 | 日韩在线欧美在线 | 精品国产精品久久 | 91视频这里只有精品 | 在线欧美a | 日本视频高清 | 亚洲一二区精品 | 日韩精品一区二区三区第95 | 国产视频欧美视频 | 国产精彩在线视频 | 丁香激情婷婷 | 在线视频日韩 | 国产精品成人自产拍在线观看 | 亚洲视频资源在线 | 黄色网在线播放 | 天天操天天干天天综合网 | 婷婷天天色 | 亚洲天堂网在线观看视频 | 蜜臀av性久久久久av蜜臀三区 | 久久精品一区二区三区中文字幕 | 国产精品1区2区 | 中文在线a天堂 | 视频精品一区二区三区 | 国产美女免费观看 | 国产欧美最新羞羞视频在线观看 | 国产一级在线播放 | 久久精品日产第一区二区三区乱码 | 婷婷国产精品 | 九九爱免费视频在线观看 | 日韩在线二区 | 天天干天天操天天拍 | 久久久久网址 | 日韩精品一区二区三区视频播放 | 国产精品永久在线观看 | 久久刺激视频 | 91一区啪爱嗯打偷拍欧美 | 视频一区二区三区视频 | 日韩女同av | 91av九色| 日韩国产欧美视频 | 丁香婷婷成人 | 国产午夜精品免费一区二区三区视频 | 麻豆精品传媒视频 | 三级黄色网址 | 久久久久久免费 | 国产成人亚洲在线观看 | 亚洲成年人av| www.天天操 | 成人永久视频 | 亚洲成av人电影 | av看片网| 97精品国产手机 | 欧美一区成人 | 精品91在线 | 在线看国产日韩 | 久久精品视频观看 | 国产九九在线 | 亚洲一区二区三区四区精品 | 在线观看日本高清mv视频 | 日本aa在线 | 日韩一区视频在线 | 婷婷丁香在线观看 | 亚洲天天综合 | 亚洲国产中文字幕在线观看 | 亚洲精品国精品久久99热 | 狠狠躁夜夜a产精品视频 | 欧美精品一级视频 | 国产精品女同一区二区三区久久夜 | 一区二区三区精品在线视频 | 久久8精品 | 免费av在线网站 | 亚洲国产精品成人女人久久 | 欧美资源在线观看 | 黄色91在线观看 | 欧美,日韩| 五月天激情综合网 | 久久高清毛片 | 黄色成人av网址 | 91高清不卡 | 一区二区三区www | 日韩欧美国产成人 | 天堂黄色片| 日韩在线观看视频中文字幕 | 亚洲日本一区二区在线 | 久久久激情网 | 99视频精品全部免费 在线 | 精品免费久久久久久 | 99久久精品国产免费看不卡 | 色婷婷综合久久久 | 人成午夜视频 | 99热在线精品观看 | 日韩国产精品久久 | 操夜夜操 | 青青草国产精品 | 伊人黄色网 | 伊香蕉大综综综合久久啪 | 欧美大片在线看免费观看 | 成人av电影在线观看 | 国产亚洲一区二区在线观看 | 色婷婷六月| 日韩黄色免费在线观看 | 国产黄色视| 亚洲精品理论片 | 免费福利片2019潦草影视午夜 | 国产精品免费不卡 | 欧美疯狂性受xxxxx另类 | 91片黄在线观看动漫 | 欧美性色黄 | 激情综合一区 | 免费观看性生活大片 | 91视频高清免费 | 日韩久久久久久久久久 | 99热99热| mm1313亚洲精品国产 | 国产黄色精品在线 | 欧美性做爰猛烈叫床潮 | 中文字幕资源在线 | 国产免码va在线观看免费 | 亚洲色图av| 一区二区三区av在线 | 欧美最新另类人妖 | 欧美一级特黄aaaaaa大片在线观看 | 国产精品 欧美 日韩 | 亚洲成人精品在线 | 久久久久久久久影院 | 一区二区高清在线 | 日韩视频一区二区在线观看 | 亚州人成在线播放 | 欧美另类sm图片 | 婷婷婷国产在线视频 | 国产亚洲一区 | 国产精品综合久久久 | 色a综合 | 色偷偷88欧美精品久久久 | av在线影视| 国产精品久久久久久久久久新婚 | 天天草天天干天天 | 婷婷六月天综合 | 涩涩网站在线 | 69绿帽绿奴3pvideos | 色a资源在线 | 久久久久综合视频 | 麻豆久久精品 | 久久久色 | 四虎影视国产精品免费久久 | 日韩欧美成人网 | 国产欧美久久久精品影院 | 黄a在线看| 天天色官网 | 久久麻豆视频 | 日韩高清国产精品 | 99热这里是精品 | 国产最新视频在线观看 | 四虎国产精品免费 | 亚洲黄色免费观看 | 久草在线免费资源站 | 国产精品18久久久久久vr | 狠狠色丁香婷婷综合最新地址 |