久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

SpringBoot整合SSO(single sign on)單點登錄

瀏覽:3日期:2023-05-10 17:35:11

1、單點登錄三種常見的方式

(1)Session廣播機制(Session復制)(2)使用Cookie+Redis實現(3)使用token實現

SpringBoot整合SSO(single sign on)單點登錄

2、單點登錄介紹

SpringBoot整合SSO(single sign on)單點登錄

SpringBoot整合SSO(single sign on)單點登錄

SpringBoot整合SSO(single sign on)單點登錄

SpringBoot整合SSO(single sign on)單點登錄

舉例:

SpringBoot整合SSO(single sign on)單點登錄

(1)引入jwt依賴

<!-- JWT--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId></dependency>

(2)創建JWTUtils工具類

public class JwtUtils { //token過期時間 public static final long EXPIRE = 1000 * 60 * 60 * 24; //秘鑰 public static final String APP_SECRET = 'ukc8BDbRigUDaY6pZFfWus2jZWLPHO'; public static String getJwtToken(String id, String nickname){ String JwtToken = Jwts.builder() //設置頭信息 .setHeaderParam('typ', 'JWT') .setHeaderParam('alg', 'HS256') .setSubject('user') .setIssuedAt(new Date()) //設置過期時間 .setExpiration(new Date(System.currentTimeMillis() + EXPIRE)) //設置token主體部分(這里使用id和nickname作為主體部分) .claim('id', id) .claim('nickname', nickname) //加密方式 .signWith(SignatureAlgorithm.HS256, APP_SECRET) .compact(); return JwtToken; } /** * 判斷token是否存在與有效(直接通過APP_SECRET解析token) * @param jwtToken * @return */ public static boolean checkToken(String jwtToken) { if(StringUtils.isEmpty(jwtToken)) return false; try { Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken); } catch (Exception e) { e.printStackTrace(); return false; } return true; } /** * 判斷token是否存在與有效(通過獲取請求頭信息獲取token再使用APP_SECRET解析token) * @param request * @return */ public static boolean checkToken(HttpServletRequest request) { try { String jwtToken = request.getHeader('token'); if(StringUtils.isEmpty(jwtToken)) return false; Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken); } catch (Exception e) { e.printStackTrace(); return false; } return true; } /** * 根據token字符串獲取用戶id(取出有效載荷中的用戶信息) * @param request * @return */ public static String getMemberIdByJwtToken(HttpServletRequest request) { String jwtToken = request.getHeader('token'); if(StringUtils.isEmpty(jwtToken)) return ''; Jws<Claims> claimsJws = Jwts.parser().setSigningKey(APP_SECRET).parseClaimsJws(jwtToken); Claims claims = claimsJws.getBody(); return (String)claims.get('id'); }}

3、單點登錄實現

項目目錄結構

SpringBoot整合SSO(single sign on)單點登錄

UcenterMemberController

@RestController@RequestMapping('/user/')@CrossOriginpublic class UcenterMemberController { @Autowired private UcenterMemberService ucenterMemberService;//登錄 @PostMapping('login') public ResponseResult login(@RequestBody MobileLoginRequest request) { String token = ucenterMemberService.login(request); return ResponseResult.success().data('token', token); }//注冊 @PostMapping('register') public ResponseResult register(@RequestBody RegisterRequest request) { ucenterMemberService.register(request); return ResponseResult.success().message('注冊成功'); }//根據token獲取用戶信息 @GetMapping('getUserInfo') public ResponseResult getUserInfo(HttpServletRequest request) { //調用jwt工具類的方法,根據request對象獲取頭信息,返回用戶id String id = JwtUtils.getMemberIdByJwtToken(request); //根據用戶id查詢用戶 UcenterMember member = ucenterMemberService.getById(id); return ResponseResult.success().data('userInfo', member); }}

ServiceImpl

@Servicepublic class UcenterMemberServiceImpl extends ServiceImpl<UcenterMemberMapper, UcenterMember> implements UcenterMemberService { @Autowired private StringRedisTemplate redisTemplate;//登錄 @Override public String login(MobileLoginRequest request) { String phone = request.getPhone(); String password = request.getPassword(); if (StrUtil.isBlank(phone) || StrUtil.isBlank(password)) { throw new GuliException(200001, '請輸入用戶名或者密碼'); } //根據輸入的手機號碼查找該用戶信息 UcenterMember ucenterByPhone = this.baseMapper.selectOne(new LambdaQueryWrapper<UcenterMember>().eq(UcenterMember::getMobile, phone)); if (ucenterByPhone == null) { throw new GuliException(200002, '該用戶名不存在'); } //如果用戶存在比對數據庫密碼和用戶輸入的密碼 if (!MD5Util.encrypt(password).equals(ucenterByPhone.getPassword())) { throw new GuliException(200003, '密碼輸入錯誤'); } String token = JwtUtils.getJwtToken(ucenterByPhone.getId(), ucenterByPhone.getNickname()); return token; }//注冊 @Override public void register(RegisterRequest request) { String phone = request.getPhone(); String password = request.getPassword(); String nickName = request.getNickName(); String code = request.getCode(); if (StrUtil.isBlank(phone) || StrUtil.isBlank(password) || StrUtil.isBlank(nickName) || StrUtil.isBlank(code)) { throw new GuliException(200001, '請填寫相關信息'); } //判斷手機號是否重復 Integer count = baseMapper.selectCount(new LambdaQueryWrapper<UcenterMember>().eq(UcenterMember::getMobile, phone)); if (count > 0) { throw new GuliException(200001, '賬號已經存在請重新輸入'); } //驗證code String redisCode = redisTemplate.opsForValue().get(phone); if (StrUtil.isBlank(redisCode)) { throw new GuliException(200001, '驗證碼已經過期,請重新獲取'); } if (!redisCode.equals(code)) { throw new GuliException(200001, '驗證碼錯誤'); } UcenterMember ucenterByPhone = new UcenterMember(); ucenterByPhone.setMobile(phone); ucenterByPhone.setPassword(MD5Util.encrypt(password)); ucenterByPhone.setNickname(nickName); ucenterByPhone.setIsDisabled(false); int insert = baseMapper.insert(ucenterByPhone); if(insert<=0){ throw new GuliException(20001,'注冊失敗'); } }}

MD5加密算法工具類

public final class MD5Util { public static String encrypt(String strSrc) { try { char hexChars[] = {’0’, ’1’, ’2’, ’3’, ’4’, ’5’, ’6’, ’7’, ’8’, ’9’, ’a’, ’b’, ’c’, ’d’, ’e’, ’f’}; byte[] bytes = strSrc.getBytes(); MessageDigest md = MessageDigest.getInstance('MD5'); md.update(bytes); bytes = md.digest(); int j = bytes.length; char[] chars = new char[j * 2]; int k = 0; for (int i = 0; i < bytes.length; i++) { byte b = bytes[i]; chars[k++] = hexChars[b >>> 4 & 0xf]; chars[k++] = hexChars[b & 0xf]; } return new String(chars); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); throw new RuntimeException('MD5加密出錯!!+' + e); } } public static void main(String[] args) { System.out.println(MD5Util.encrypt('111111')); }}

4、登錄完成后在前端界面展示用戶信息

SpringBoot整合SSO(single sign on)單點登錄

(1)第一、二、四步:登錄的方法(記得npm install js-cookie)

//登錄的方法 submitLogin() { //第一步 調用接口進行登錄,返回token字符串 loginApi.submitLoginUser(this.user) .then(response => { //第二步 獲取token字符串放到cookie里面 //第一個參數cookie名稱,第二個參數值,第三個參數作用范圍 cookie.set(’user_token’,response.data.data.token,{domain: ’localhost’})//第四步 調用接口 根據token獲取用戶信息,為了首頁面顯示 loginApi.getLoginUserInfo() .then(response => { this.loginInfo = response.data.data.userInfo //獲取返回用戶信息,放到cookie里面(主頁在cookie中獲取用戶信息進行展示) cookie.set(’user_info’,this.loginInfo,{domain: ’localhost’}) //跳轉頁面 window.location.href = 'http://www.gepszalag.com/'; }) }) },

(2)第三步:在request.js中編寫前端請求攔截器(發送請求攜帶token)

// 創建axios實例const service = axios.create({ baseURL: process.env.BASE_API, // api 的 base_url timeout: 5000 // 請求超時時間})// request攔截器service.interceptors.request.use( config => { if (cookie.get(’user_token’)) { config.headers[’token’] = cookie.get(’user_token’) // 讓每個請求攜帶自定義token 請根據實際情況自行修改 } return config }, error => { // Do something with request error console.log(error) // for debug Promise.reject(error) })

(3)第五步:主頁顯示用戶信息(從cookie中獲取用戶信息)

//創建方法,從cookie獲取用戶信息showInfo() { //從cookie獲取用戶信息 var userStr = cookie.get(’guli_ucenter’) // 把字符串轉換json對象(js對象),因為后端傳過來的是'{’name’,’lucy’,’age’:18}'的格式 if(userStr) { this.loginInfo = JSON.parse(userStr) }}

顯示用戶信息(根據userInfo中id來判斷)

<ul class='h-r-login'> //cookie中沒有用戶信息,顯示登錄和注冊 <li v-if='!loginInfo.id' id='no-login'> <a href='http://www.gepszalag.com/login' rel='external nofollow'> <em class='icon18 login-icon'>&nbsp;</em> <span class='vam ml5'>登錄</span> </a> | <a href='http://www.gepszalag.com/register' rel='external nofollow'> <span class='vam ml5'>注冊</span> </a> </li> //cookie中有用戶信息,顯示用戶頭像、昵稱和退出 <li v-if='loginInfo.id' class='h-r-user'> <a href='http://www.gepszalag.com/ucenter' rel='external nofollow' title> <img :src='http://www.gepszalag.com/bcjs/loginInfo.avatar' alt > <span class='vam disIb'>{{ loginInfo.nickname }}</span> </a> <a href='javascript:void(0);' rel='external nofollow' @click='logout()' class='ml5'>退出</a> </li></ul>

退出登錄,清空cookie中的token和用戶信息

//退出 logout() { //清空cookie值 cookie.set(’user_token’,’’,{domain: ’localhost’}) cookie.set(’user_info’,’’,{domain: ’localhost’}) //回到首頁面 window.location.href = 'http://www.gepszalag.com/'; } }

到此這篇關于SpringBoot整合SSO(single sign on)單點登錄的文章就介紹到這了,更多相關SpringBoot整合SSO單點登錄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲精品视频导航 | 欧美激情精品久久久久久 | 亚洲高清在线视频 | 免费观看电视在线高清视频 | 日韩欧美在线中文字幕 | 亚洲成人看片 | 日本亚洲欧美 | 国产91色在线 | 亚洲 | 欧美一级在线播放 | av天空 | 色性网站| 久久99国产精品免费网站 | 国产高清自拍 | 成人欧美一区二区三区视频xxx | 麻豆毛片 | 91视频在线看 | 免费看黄色大片 | 国产精品视频专区 | 日韩91| 1区2区3区视频 | 久久青青| 成人片免费看 | 不卡一区 | 欧美成人精品一区二区三区 | 国产福利一区二区三区视频 | 亚洲xxxx3d| 久草天堂| 美女视频一区 | 欧美综合激情 | 成人二区 | 成人免费视频观看视频 | 本道综合精品 | 日韩中文不卡 | 国产视频一区二区 | 在线中文字幕av | 成人欧美一区二区三区视频xxx | 九九热这里只有 | 91.xxx.高清在线 | 一级a性色生活片久久毛片波多野 | 国产精品一区二区三区在线播放 | 欧洲一级毛片 | 日韩综合| 久久国产精品免费一区二区三区 | 国产主播久久 | 一本大道综合伊人精品热热 | 一级片免费视频 | 毛片入口 | 国产片在线观看 | 欧美日韩久久久 | 欧美不卡一区二区 | 日韩视频不卡 | 亚洲人成人一区二区在线观看 | 91精品国产综合久久国产大片 | 小川阿佐美88av在线播放 | 国产婷婷久久 | 久久女人 | 欧美一级成人欧美性视频播放 | 国产亚洲成av人片在线观看桃 | 蜜桃官网| 国产高清一区 | 久久福利 | 久久国产精品无码网站 | 99re在线免费 | 亚洲黄网在线观看 | 超碰香蕉 | 免费在线成人av | 免费av电影在线观看 | 国产91黄色 | 国产精品久久久久久久久久久免费看 | 日日综合| 久久国产欧美日韩精品 | 中文字幕 欧美 日韩 | 亚洲乱码一区二区三区在线观看 | 天天噜天天干 | 天天干人人 | 99久久99 | 精品96久久久久久中文字幕无 | 欧美一区二区三区成人 | 成人免费视频网址 | 欧美国产精品一区二区三区 | 欧美激情精品久久久久久 | 亚洲精品成人av | 中国妞xxxhd露脸偷拍视频 | 国产婷婷精品av在线 | 成人av播放 | av自拍| 在线激情视频 | 欧美一级精品 | 国产a视频 | 成人h视频| 欧美一区二区三区在线 | 中文字幕一二三区 | 国产.com| 国产成人在线一区二区 | 亚洲精品一区二区网址 | 午夜精品亚洲日日做天天做 | 在线欧美色 | 久久亚洲一区 | 一级黄色毛片免费 | 国产一级特黄aaa大片 | 日韩网站免费观看 | 9久9久| 一区二区三区四区在线视频 | 日日摸日日碰夜夜爽不卡dvd | 精品无人乱码一区二区三区 | 天天干狠狠干 | 一道本一区二区三区 | 日日操夜夜添 | 久久久国产视频 | 日韩av中文在线 | 精品96久久久久久中文字幕无 | 欧美一级播放 | 日日操夜夜操免费视频 | 国产精品毛片一区二区在线看 | 91夜夜夜| 日本天天操 | 日韩久久久久久 | 欧美一级黄色片免费看 | 亚洲日本韩国在线观看 | 国产精品永久免费自在线观看 | 一区二区三区高清不卡 | 色播久久久 | 一区二区久久久 | 人人干人人干人人干 | 欧美日韩不卡合集视频 | 精品一区二区三区免费视频 | 日韩欧美在线视频免费观看 | 国产91网址 | av在线干 | 国产性×xxx盗摄xxxx | 四季久久免费一区二区三区四区 | 正在播放国产精品 | 久久中文视频 | 日韩久久一区二区 | 欧美福利 | 成人免费淫片aa视频免费 | 亚洲精品国产一区 | 色女人的天堂 | 在线观看午夜免费视频 | 日韩在线视频一区 | 午夜精品视频 | 一区二区在线视频 | 激情欧美日韩一区二区 | 狠狠狠狠狠狠干 | 国产v日产∨综合v精品视频 | 精品久久久久久久久福利 | 精品中文字幕一区二区 | 四虎影院入口 | 成人夜晚看av | 婷婷综合激情 | 91免费网| 国产1区2区精品 | 天天操天天干天天爽 | 91精品国产91久久久久久吃药 | 精品国产欧美一区二区三区不卡 | 亚洲 中文 欧美 日韩 在线观看 | 精品无人乱码一区二区三区 | 亚洲欧美日韩另类精品一区二区三区 | 神马久久久久久久久 | 国产精品理论电影 | 国产精品免费一区二区三区四区 | 亚洲第一黄色 | 久久狠狠| 国产精品成人一区二区三区夜夜夜 | 综合网亚洲 | 亚洲视频一区在线 | 二区三区在线观看 | 91人人澡人人爽 | 黄色在线免费 | 瑟瑟视频在线看 | 一级片免费视频 | 日本一区二区高清不卡 | 婷婷五月色综合香五月 | 国产精品二区一区二区aⅴ污介绍 | 99精品视频在线观看 | 欧美日韩精品亚洲 | 精品日韩| 亚洲欧美精选 | 国产精品一二三区 | 国产精品久久久久久久久久ktv | 欧美一区二区三区成人 | 国产精品视频久久久 | 中文字幕一区在线观看视频 | 狠狠操综合网 | 欧美一级淫片免费看 | 日韩毛片在线观看 | 精品久久久久久久久久久久久久 | 国产精品一区av | 视频一区二区三区免费观看 | 色婷婷综合久色 | 亚洲不卡网站 | 日韩2020狼一二三 | 老师的朋友2 | 91精品国产乱码久久久久久久久 | 久久久久国产精品 | 久草院线 | 97久久久国产精品 | 无码一区二区三区视频 | 午夜影晥 | 婷婷在线观看视频 | 亚洲精品欧美 | 色欧美视频 | 国产日韩欧美高清 | 奇米亚洲午夜久久精品 | 日本黄色片免费看 | 夏同学福利网 | 欧美综合一区二区三区 | 日韩在线一区二区三区 | 日韩av免费在线观看 | 精品视频一区二区三区 | 亚洲精品国产a久久久久久 国产毛片毛片 | 国产成人精品高清久久 | 蜜桃视频在线播放 | 亚洲蜜臀av乱码久久精品蜜桃 | 国产亚洲精品久久久久动 | 久久99深爱久久99精品 | 亚洲一区二区视频在线观看 | 日本在线观看网站 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 一区二区三区免费网站 | 亚洲 自拍 另类 欧美 丝袜 | 久久综合精品视频 | 一区二区三区四区视频 | 一区二区视频 | 亚洲欧美一区二区三区不卡 | 国产日韩一级片 | 91九色在线| 亚洲第一国产精品 | 51ⅴ精品国产91久久久久久 | 中文字幕 亚洲一区 | 精品国产不卡一区二区三区 | 91美女在线观看 | av中文字幕在线观看 | 亚洲丶国产丶欧美一区二区三区 | 一区二区三区久久 | 成年视频在线观看福利资源 | 亚洲人免费视频 | 欧美国产在线一区 | 中文字幕一区二区三区精彩视频 | 日韩成人在线播放 | 色欧美片视频在线观看 | 精品综合久久久 | 亚洲视频在线免费观看 | 在线免费日韩 | 欧美日韩精品一区二区三区在线观看 | 经典法国性xxxx精品 | 国产中文字幕在线观看 | 奇米影视7777 | 国产精品欧美一区二区三区 | 久久y| 日韩免费激情视频 | 国产免费看 | 中文字幕在线亚洲 | 久久亚洲一区 | 国产精品成人3p一区二区三区 | 黄色片在线免费观看 | 成人午夜视频在线 | 91精品国产综合久久福利软件 | 国产亚洲一区在线 | 91精产国品一二三区在线观看 | 欧洲美女7788成人免费视频 | 亚洲一区二区三区中文字幕 | 精品一区二区三区国产 | 国产高清网站 | 久久精品国产99精品国产亚洲性色 | 日本高清视频在线播放 | 91视频免费看 | 啊v在线 | 一本一道久久久a久久久精品91 | 日韩久久久久久 | 91原创视频在线观看 | 欧美一区二区三区 | 中文字幕欧美激情 | 狠狠色综合欧美激情 | aaa级片| 午夜免费av | av一区在线观看 | 中国一级免费毛片 | 久久涩| 欧美三级电影在线播放 | 亚洲精品一区二区三区蜜桃久 | 午夜婷婷丁香 | 亚洲久久在线 | 午夜精品久久久久久久男人的天堂 | 亚洲一区二区在线电影 | 欧美精品亚洲精品日韩精品 | 精品日韩| 一区二区三区四区视频 | 国产视频久久精品 | 99精品国产在热久久 | 国产成人一级片 | 成人一区二区在线 | 伊人伊人 | 激情视频在线观看 | 一区二区三区在线播放 | 精品中文字幕一区二区三区 | 精品久久97 | 99热最新网站 | 成人激情视频在线观看 | 日韩一区二区三区精品 | www久久精品 | 一区二区在线播放视频 | 日韩成人在线播放 | 国产精品一区一区三区 | a免费网站 | 亚洲成人免费网址 | 97久久精品人人做人人爽50路 | 国产精品人人做人人爽人人添 | 久久2018| 国产一二区在线观看 | 日本一区二区三区免费观看 | 亚洲精选国产 | 日韩精品| 国产精品www | 男人天堂视频在线观看 | av在线免费网址 | 一区二区三区四区免费观看 | 久久精品国产99 | 亚洲精品一区二区三区四区高清 | 亚洲免费资源 | 成人片网址 | 国产亚洲一区二区三区在线观看 | 国内精品一区二区 | 国产乱码精品一区二区三区中文 | 欧美综合视频 | 成人免费视频网址 | 国产精拍 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲一区二区高清视频 | 亚洲一区二区中文字幕 | 欧美成人手机在线 | 亚洲视频在线观看 | 欧美精品一区二区三区蜜桃视频 | 在线亚洲观看 | 黄色网址大全在线观看 | 欧美性猛交一区二区三区精品 | 日本在线一区二区三区 | 欧洲精品视频在线观看 | 搞黄免费视频 | 亚洲香蕉视频 | 欧美日韩精品一区 | 伊人天堂网 | 国产一区二区综合 | 在线区| 亚洲国产高清视频 | 久久精品欧美 | 色呦呦网站在线观看 | 一级黄色片子看看 | 精品国产乱码简爱久久久久久 | 天堂在线一区二区 | 亚洲www啪成人一区二区 | 成人免费淫片aa视频免费 | 精品久久久久久久久久久院品网 | 国产欧美精品一区二区 | 免费大片在线观看网站 | www日韩 | 好色视频在线观看 | 美国黄色毛片女人性生活片 | 精品国产乱码久久久久久88av | 日韩精品一二三区 | 久久久麻豆 | 欧美视频免费在线观看 | 欧美一区二区三区 | 美女视频黄又黄又免费 | 成人免费看 | 天天综合网久久综合网 | 亚洲久草 | 天天干,夜夜操 | 亚洲成人福利 | 久久成人国产精品 | 欧美一区二区免费 | 精品伦精品一区二区三区视频 | 欧美a区| www久久久久 | 国产精品日本一区二区在线播放 | 欧美一级毛片久久99精品蜜桃 | 99爱免费观看| 久久aⅴ乱码一区二区三区 91综合网 | 亚洲欧美中文日韩在线v日本 | 久久精品国产视频 | 国产精品日韩精品 | 亚洲国产久 | 91在线观看视频 | 日韩成人高清视频 | 国产精品综合一区二区 | 国内精品视频一区二区三区八戒 | 亚洲精选免费视频 | 久久国产区 | 日本久久免费 | 国产一区二区免费 | 天天干夜夜骑 | 国产精品乱码人人做人人爱 | 国产激情在线观看 | 亚洲欧美成人影院 | 国产精品女教师av久久 | 久久精品无码一区二区日韩av | 亚洲网站在线观看 | 精品久久久久久久久久久久久久 | 天堂久久一区 | 可以在线观看的av网站 | 欧美一区永久视频免费观看 | 欧美一区二区三区免费在线观看 | 亚洲一区在线视频 | 午夜精品导航 | 中文字幕一区二区三区四区 | 久久伊人草 | 久久精品久久久 | 欧美日韩美女 | 日韩精品一区二区三区在线 | 精品亚洲国产成av人片传媒 | 色xx综合网 | 91精品国产综合久久久亚洲 | 九九久久精品 | 91不卡| 久久黄网 | 91观看| 33eee在线视频免费观看 | 中文字幕av高清 | 午夜播影院 | 精品国产91亚洲一区二区三区www | 99色资源 | 欧美精品成人一区二区在线 | 成人国产精品久久久 | 欧美日韩一区二区三区在线观看 | 欧洲亚洲精品久久久久 | 中文字幕视频在线观看 | 欧美大片一区二区 | 欧美在线高清 | 日韩成人在线电影 | 免费的av网站 | 91社区在线观看高清 | 九九热精品视频 | 亚洲精品久久久久久久久久久 | 欧美一级精品片在线看 | 国产高清精| 男人天堂社区 | 国产精品久久久久久吹潮 | 色婷婷av久久久久久久 | 日本黄色免费大片 | 久久久久久九九九 | 99热影院 | 欧美一级网站 | 三级av| 亚洲a级在线观看 | 精品成人| 日韩不卡一区二区三区 | 日本一区二区不卡视频 | 色综合天天综合网国产成人网 | 欧美在线一区二区 | 精品久久久久久久久久久久久久 | 久久久久国产一区二区三区四区 | 在线观看av国产一区二区 | 日韩成人短视频 | 久久久久国产精品www | 99热在线免费观看 | 国产午夜精品久久久久免费视高清 | 成人午夜在线 | 可以免费在线观看av的网站 | 欧美一级视频 | aaaa网站| 亚洲人黄色片 | 国产亲子乱弄免费视频 | 亚洲国产成人av | 伊人久久国产 | 欧美一区二区在线免费观看 | 亚州成人| 成人国产精品色哟哟 | 国产三级日本三级美三级 | 亚洲国产日韩在线 | 看欧美黄色录像 | 视频一区在线播放 | 久久精品在线 | 亚洲成人高清 | 亚洲精品在线播放视频 | 日本视频网 | av伊人网 | 成人免费毛片高清视频 | 亚洲国产成人精品久久 | 欧美久久视频 | 成人妇女免费播放久久久 | 日韩av一区二区三区在线观看 | 91在线看| 国产婷婷精品 | 亚洲精品中文字幕中文字幕 | 91视频观看 | 日韩激情综合 | 精品国产乱码久久久久久久 | 亚洲日本欧美日韩高观看 | 91精品国产一区二区 | 欧美日一区二区 | 高清一区二区三区 | 色爽女人免费 | 欧美二区视频 | 在线精品亚洲欧美日韩国产 | 97视频免费在线观看 | 亚洲av毛片一区二二区三三区 | 玖玖国产精品视频 | 五月激情六月婷婷 | 999精品视频 | 性大毛片视频 | 在线成人一区 | 久久久久高清 | 欧美午夜一区 | 欧美激情一区二区三区在线观看 | 麻豆国产露脸在线观看 | 成人免费淫片aa视频免费 | 国产小视频在线 | 成人福利 | 午夜a级理论片915影院 | 五月婷婷综合久久 | 在线免费观看羞羞视频 | 午夜精品网站 | 一级毛片aaaaaa免费看 | 黄色片视频在线观看 | 成人黄色片在线观看 | 欧美一区二区日韩 | 亚洲自拍在线观看 | 久久网站免费视频 | 一级免费毛片 | 久久精品无码一区二区日韩av | 国产日韩在线播放 | 国产亚洲欧美一区 | 精品国产乱码久久久久久闺蜜 | 亚洲精品国产偷自在线观看 | 国产高清精品一区 | 天天碰天天操 | 国产成人免费视频 | av大全在线| 日韩激情免费 | 国产精品午夜电影 | 亚洲无吗电影 | 精品国产91 | 国产精品久久精品 | 国产精品久久久久影院色老大 | 在线看免费观看日本 | 97国产在线 | 亚洲精品乱码久久久久久不卡 | 日韩大片免费播放 | 色综合国产 | 一级毛片免费播放 | 羞羞色影院 | 亚洲巨乳自拍在线视频 | 99国产精品久久久久久久成人热 | 精品欧美黑人一区二区三区 | 日韩在线短视频 | 黄网免费 | 亚洲精品视频在线 | 国产日韩一区二区三区 | 色网站在线观看 | 国产精品久久久久久久久久 | 亚洲精品乱码 | 国产一区二区三区在线看 | 日韩一二三区视频 | 99国产精品久久久 | 欧日韩免费视频 | 一区二区在线视频 | 国产精品视频播放 | www.黄网 | 91久久久www播放日本观看 | 国产日韩一级片 | www国产成人免费观看视频 | 国产高清精品在线 | 亚洲成人av在线 | 午夜影晥| av在线一区二区三区 | 免费黄色录像视频 | 亚洲精品一区二区三区精华液 | 精品电影| 国产丝袜一区 | 国产成人福利在线观看 | 久久久免费视频看看 | 国产精品久久久久久吹潮 | 久久精品在线视频 | 日韩精品一区二区三区 | 国产精品视频一二三区 | 日韩欧美在线播放 | 免费一区 | 亚洲成年人影院 | 亚洲黄色片免费 | 夜夜艹| 国产欧美综合一区二区三区 | 欧美 日韩 中文字幕 | 天天干夜夜骑 | 日韩一级 | 一区二区三区视频在线播放 | 欧美精品一区二区三区四区在线 | h片在线免费观看 | 色网网站 | 欧美一区2区三区4区公司二百 | 婷婷亚洲五月 | 美日韩在线 | 久久久久久久国产精品 | 亚洲第一天堂无码专区 | 一区在线观看视频 | 国产精品中文字幕在线播放 | 91精品日韩| 成人久久 | 国产成人片 | 黄色大片视频 | 在线久草 | www.日韩| 成人在线播放网站 | 欧美三级在线播放 | 欧美a一级 | 99视频在线 | 一二区精品 | 黄网站涩免费蜜桃网站 | 成av在线 | 久久亚洲视频 | 激情视频在线观看免费 | 中文在线观看www | 日本久久久久久久久久 | 91高清视频在线观看 | 欧美激情自拍偷拍 | 久久加勒比 |