精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

手摸手教你定制 Spring Security 表單登錄

開(kāi)發(fā) 前端
對(duì)于一個(gè)完整的應(yīng)用系統(tǒng),與登錄驗(yàn)證相關(guān)的頁(yè)面都是高度定制化的,非常美觀而且提供多種登錄方式。這就需要Spring Security支持我們自己定制登錄頁(yè)面,也就是本文給大家介紹的FormLogin模式登錄認(rèn)證模式。

在本專(zhuān)欄前篇文章中介紹了HttpBasic模式,該模式比較簡(jiǎn)單,只是進(jìn)行了通過(guò)攜帶Http的Header進(jìn)行簡(jiǎn)單的登錄驗(yàn)證,而且沒(méi)有可以定制的登錄頁(yè)面,所以使用場(chǎng)景比較窄。

對(duì)于一個(gè)完整的應(yīng)用系統(tǒng),與登錄驗(yàn)證相關(guān)的頁(yè)面都是高度定制化的,非常美觀而且提供多種登錄方式。這就需要Spring Security支持我們自己定制登錄頁(yè)面,也就是本文給大家介紹的FormLogin模式登錄認(rèn)證模式。

1. 新建項(xiàng)目

在介紹相關(guān)內(nèi)容之前,需要先搭建一個(gè)demo,新建一個(gè)項(xiàng)目spring-security-02,需要添加依賴(lài)如下:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

除此之外其實(shí)還需要添加web、thymeleaf的依賴(lài),這里就不在貼出來(lái)了。

demo結(jié)構(gòu)如下:

圖片

2. 新建登錄頁(yè)面

這里不再使用Security默認(rèn)的頁(yè)面,自己定制一個(gè),代碼如下:

圖片

單純的一個(gè)表單登錄頁(yè)面,需要注意以下幾個(gè)參數(shù):

  • action:security登錄的url,可以自定義。
  • username:security登錄的用戶(hù)名,可以自定義。
  • password:security登錄的密碼,可以自定義。

以上三個(gè)參數(shù)都可以在security通過(guò)配置的方式定義。

3. 新建首頁(yè)

這個(gè)是登錄成功后跳轉(zhuǎn)的首頁(yè),代碼如下:

圖片

4. 新建接口

在security中一切的接口都稱(chēng)之為資源,下面新建兩個(gè)測(cè)試接口,代碼如下:

圖片

5. formLogin配置

在介紹如何配置之前,先來(lái)看下formLogin模式登錄的5個(gè)要素:

  • 登錄認(rèn)證邏輯-登錄URL:這個(gè)URL在security中默認(rèn)是/login且POST請(qǐng)求,但是也可以通過(guò)配置自定義。
  • 如何接收登錄參數(shù):用戶(hù)名、密碼默認(rèn)接收的字段分別是username、password,同樣也是可以通過(guò)配置自定義。
  • 登陸成功后邏輯:登錄成功后的處理邏輯,比如跳轉(zhuǎn)到指定的頁(yè)面、返回特定的JSON數(shù)據(jù),這個(gè)也是可以定制。
  • 資源訪問(wèn)控制規(guī)則:這個(gè)用于控制什么用戶(hù)、什么角色可以訪問(wèn)什么資源,可以靜態(tài)指定也可以從數(shù)據(jù)庫(kù)中加載。
  • 用戶(hù)具有角色權(quán)限:配置某個(gè)用戶(hù)擁有什么角色、擁有什么權(quán)限,可以靜態(tài)指定也可以從數(shù)據(jù)庫(kù)中加載。

一般來(lái)說(shuō),使用權(quán)限認(rèn)證框架的的業(yè)務(wù)系統(tǒng)登錄驗(yàn)證邏輯是固定的,而資源訪問(wèn)控制規(guī)則和用戶(hù)信息是從數(shù)據(jù)庫(kù)或其他存儲(chǔ)介質(zhì)靈活加載的。但本文所有的用戶(hù)、資源、權(quán)限信息都是代碼配置寫(xiě)死的,旨在為大家介紹formLogin認(rèn)證模式,如何從數(shù)據(jù)庫(kù)加載權(quán)限認(rèn)證相關(guān)信息我還會(huì)結(jié)合RBAC權(quán)限模型再寫(xiě)文章的。

針對(duì)上述5個(gè)的要素,formLogin配置代碼如下:

圖片

首先,我們要繼承WebSecurityConfigurerAdapte?r ,重寫(xiě)configure(HttpSecurity http) 方法,該方法用來(lái)配置登錄驗(yàn)證邏輯。請(qǐng)注意看代碼中的注釋信息。

上述代碼分為兩個(gè)部分:

第一部分是formLogin配置段,用于配置登錄驗(yàn)證邏輯相關(guān)的信息。如:登錄頁(yè)面、登錄成功頁(yè)面、登錄請(qǐng)求處理路徑等。

  • .loginPage("/login/page")?:指定的第2步定制的登錄頁(yè)面,需要寫(xiě)個(gè)mvc接口跳轉(zhuǎn)到login.html,見(jiàn)源碼。
  • .loginProcessingUrl("/login")?:指定處理登錄的邏輯的url,這個(gè)接口不需要開(kāi)發(fā)者定義,security中通過(guò)過(guò)濾器。UsernamePasswordAuthenticationFilter處理,后文介紹。
  • .usernameParameter("username")?:指定用戶(hù)名的接收參數(shù)的字段,默認(rèn)是username,具體邏輯在UsernamePasswordAuthenticationFilter。
  • .passwordParameter("password")?:指定密碼的接收參數(shù)的字段,默認(rèn)是username,具體邏輯在UsernamePasswordAuthenticationFilter。
  • .defaultSuccessUrl("/")?:登錄認(rèn)證成功后默認(rèn)轉(zhuǎn)跳的路徑,這里/?則是跳轉(zhuǎn)到/index.html,可以自定義。
  • .failureUrl("/login/page"):登陸失敗的跳轉(zhuǎn)的路徑。

第二部分是authorizeRequests配置段,用于配置資源的訪問(wèn)控制規(guī)則

  • .antMatchers("/login/page","/login").permitAll():配置登錄頁(yè)面、登錄接口直接放行,不需要攔截登錄
  • .antMatchers("/","/hello1").hasAnyAuthority("ROLE_user","ROLE_admin")?:設(shè)置/hello1、/?這兩個(gè)資源需要user和admin的角色才可以訪問(wèn)。
  • .antMatchers("/hello2").hasAnyRole("admin")?:配置/hello2?這個(gè)資源需要admin的角色才可以訪問(wèn)。
  • .anyRequest().authenticated():除了上面的配置的規(guī)則,訪問(wèn)其他的資源都需要登錄認(rèn)證通過(guò)才可以訪問(wèn)。

6. 用戶(hù)、角色配置

在上述的規(guī)則中配置了一些資源需要特定的角色才可以訪問(wèn),比如user、admin,那么這些角色如何去指定呢?

在security中提供了配置的方式,代碼如下:

圖片

上述的代碼配置很簡(jiǎn)單,創(chuàng)建了兩個(gè)用戶(hù)且指定了角色,分別如下:

  • user:密碼123456,賦予的角色為user。
  • admin:密碼123456,賦予的角色為user、admin。

配置解釋如下:

  • .inMemoryAuthentication():指的是在內(nèi)存里面存儲(chǔ)用戶(hù)的身份認(rèn)證和授權(quán)信息;這里還可以配置從數(shù)據(jù)庫(kù)中動(dòng)態(tài)加載,后文介紹。
  • withUser("user"):用戶(hù)名是user。
  • password(passwordEncoder().encode("123456")):密碼是加密之后的123456。
  • roles():方法用于指定用戶(hù)的角色,一個(gè)用戶(hù)可以有多個(gè)角色。
  • passwordEncoder(passwordEncoder())?:指定密碼的加密方式,使用的是BCryptPasswordEncoder,后文介紹。

7. 簡(jiǎn)單測(cè)試

按照上述6個(gè)步驟基本實(shí)現(xiàn)了一個(gè)表單登錄,下面測(cè)試一下。

瀏覽器訪問(wèn)http://localhost:8081/hello2,第一次訪問(wèn)由于未登錄會(huì)自動(dòng)跳轉(zhuǎn)到登錄頁(yè)面,如下圖:

圖片

輸入用戶(hù)名和密碼,由于/hello2?這個(gè)資源需要admin?的角色才能訪問(wèn),因此必須用admin這個(gè)用戶(hù)登錄,否則將會(huì)報(bào)403的錯(cuò)誤,登錄成功后將能夠正常訪問(wèn)。

圖片

如果用戶(hù)名或者密碼錯(cuò)誤將會(huì)觸發(fā).failureUrl("/login/page")這個(gè)配置,自動(dòng)跳轉(zhuǎn)到登錄頁(yè)面

8. 自定義登錄結(jié)果

在第5步的配置中,和登錄結(jié)果相關(guān)的配置有如下兩個(gè):

  • .defaultSuccessUrl("/")?:登錄認(rèn)證成功后默認(rèn)轉(zhuǎn)跳的路徑,這里/?則是跳轉(zhuǎn)到/index.html,可以自定義。
  • .failureUrl("/login/page"):登陸失敗的跳轉(zhuǎn)的路徑。

這兩個(gè)配置都是指定URL的方式:

  • 當(dāng)我們登錄成功的時(shí)候,是由AuthenticationSuccessHandler?進(jìn)行登錄結(jié)果處理,默認(rèn)跳轉(zhuǎn)到defaultSuccessUrl配置的路徑對(duì)應(yīng)的資源頁(yè)面(一般是首頁(yè)index.html)。
  • 當(dāng)我們登錄失敗的時(shí)候,是由AuthenticationfailureHandler?進(jìn)行登錄結(jié)果處理,默認(rèn)跳轉(zhuǎn)到failureUrl配置的路徑對(duì)應(yīng)的資源頁(yè)面(一般也是跳轉(zhuǎn)登錄頁(yè)login.html,重新登錄)。

但是在web應(yīng)用開(kāi)發(fā)過(guò)程中需求是千變?nèi)f化的,有時(shí)需要我們針對(duì)登錄結(jié)果做個(gè)性化處理,比如:

  • 我們希望不同的人登陸之后,看到不同的首頁(yè)(及向不同的路徑跳轉(zhuǎn))。
  • 我們應(yīng)用是前后端分離的,驗(yàn)證響應(yīng)結(jié)果是JSON格式數(shù)據(jù),而不是頁(yè)面跳轉(zhuǎn)。
  • …… 其他未盡的例子。

因此需要自定義的登錄結(jié)果,這篇文章先介紹如何定制跳轉(zhuǎn)頁(yè)面,關(guān)于JSON格式數(shù)據(jù)就是前后端分離架構(gòu)下需要用到。

8.1 自定義登錄成功結(jié)果

AuthenticationSuccessHandler?接口是Security提供的認(rèn)證成功處理器接口,我們只需要去實(shí)現(xiàn)它即可。但是通常來(lái)說(shuō),我們不會(huì)直接去實(shí)現(xiàn)AuthenticationSuccessHandler?接口,而是繼承SavedRequestAwareAuthenticationSuccessHandler? 類(lèi),這個(gè)類(lèi)會(huì)記住用戶(hù)上一次請(qǐng)求的資源路徑,比如/hello2?這個(gè)路徑,登錄成功后將會(huì)自動(dòng)跳轉(zhuǎn)到/hello2這個(gè)頁(yè)面而不是首頁(yè)。

代碼如下:

圖片

8.2 自定義登錄失敗結(jié)果

這里我們同樣沒(méi)有直接實(shí)現(xiàn)AuthenticationFailureHandler?接口,而是繼承SimpleUrlAuthenticationFailureHandler 類(lèi)。該類(lèi)中默認(rèn)實(shí)現(xiàn)了登錄驗(yàn)證失敗的跳轉(zhuǎn)邏輯,即登陸失敗之后回到登錄頁(yè)面。我們可以利用這一點(diǎn)簡(jiǎn)化我們的代碼。

代碼如下:

圖片

8.3 SecurityConfig中配置

配置如下:

圖片

將自定義的AuthenticationSuccessHandler和AuthenticationFailureHandler注入到Spring Security配置類(lèi)中

使用formlogin模式,配置successHandler和failureHandler。

不要配置defaultSuccessUrl和failureUrl,否則自定義handler將失效。handler配置與URL配置只能二選一

總結(jié)

本篇文章介紹了Spring Security 的 formLogin的配置方式,需要注意的是這里不支持前后端分離架構(gòu),

責(zé)任編輯:武曉燕 來(lái)源: 碼猿技術(shù)專(zhuān)欄
相關(guān)推薦

2022-08-15 09:22:12

JWT認(rèn)證系統(tǒng)

2021-07-19 07:01:20

Chrome 插件瀏覽器

2022-01-26 00:02:00

Nacos服務(wù)注冊(cè)中心

2020-09-23 07:45:32

Docker前端

2020-09-15 10:25:13

Redis命令Java

2021-11-12 07:00:46

tsdx開(kāi)發(fā)環(huán)境

2022-11-26 00:00:02

2021-04-26 08:54:17

Spring BootSecurity防重登錄

2025-02-04 11:18:49

Spring安全應(yīng)用

2021-05-12 08:32:53

Spring Secu 自定義session

2021-03-04 11:50:48

微信Spring Secu登錄

2021-06-29 12:27:19

Spring BootCAS 登錄

2009-08-24 14:12:46

IT運(yùn)維管理表單設(shè)計(jì)工具摩卡軟件

2019-11-12 10:50:13

Spring BootstarterJava

2021-04-23 07:33:10

SpringSecurity單元

2021-08-29 18:36:57

項(xiàng)目

2025-11-12 07:50:52

SpringBoot登錄框OAuth2

2022-08-30 08:50:07

Spring權(quán)限控制

2022-08-15 08:42:46

權(quán)限控制Spring

2022-08-30 08:36:13

Spring權(quán)限控制
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

中文字幕91视频| 日韩 欧美 高清| 天天操天天干天天干| 欧美亚洲视频| 久久高清视频免费| 成人性生活免费看| www.欧美| 欧美最猛黑人xxxxx猛交| 国产免费裸体视频| 超碰免费在线观看| 高清久久久久久| 国产精品aaaa| 国产真实乱偷精品视频| 色婷婷亚洲mv天堂mv在影片| 精品国产三级a在线观看| 国产精品视频黄色| 俄罗斯一级**毛片在线播放| 国产精品视频你懂的| 国产精品一区二区三区在线| 一个人看的www日本高清视频| 亚洲人人精品| 欧美美女操人视频| 少妇太紧太爽又黄又硬又爽小说| 久久资源综合| 日韩午夜激情av| 久久久久久蜜桃一区二区| 午夜影院在线播放| 亚洲影院理伦片| 一区二区三区四区免费视频| 九色网友自拍视频手机在线| 国内久久精品视频| 久久久久久久久久久人体| 91禁男男在线观看| 欧美日韩伦理| 亚洲午夜av久久乱码| 成人影视免费观看| 好吊妞国产欧美日韩免费观看网站 | 色狠狠一区二区| 国产av麻豆mag剧集| 中文字幕中文字幕在线十八区| 国产情人综合久久777777| 久久综合九色欧美狠狠| 深爱五月激情五月| 国产成人av一区二区三区在线| 国产日韩欧美视频在线| 黄色一级片在线免费观看| 希岛爱理一区二区三区| 日韩在线观看免费| 中文字幕第69页| 久久在线视频| 久久精品99久久久香蕉| 国产精品精品软件男同| 婷婷综合伊人| 欧美成人在线影院| 欧美黑吊大战白妞| 欧美午夜不卡影院在线观看完整版免费| 久久视频在线看| 9999热视频| 欧美日韩一视频区二区| 欧美激情2020午夜免费观看| 国产亚洲精品久久777777| 亚洲无线一线二线三线区别av| 欧美国产日韩xxxxx| 久久久精品国产sm调教| 1024成人| 国产黑人绿帽在线第一区| 成人公开免费视频| 麻豆成人免费电影| 91精品视频在线| 性猛交xxxx乱大交孕妇印度| 成人一区在线观看| 久热国产精品视频一区二区三区| 久草在线青青草| 国产精品久久久久9999吃药| 400部精品国偷自产在线观看| 丝袜综合欧美| 欧美日韩精品中文字幕| 久久久久久三级| 久久天堂久久| 亚洲精品美女在线观看| 人人爽人人爽人人片| 久久看人人摘| 欧美精品激情在线| av图片在线观看| 精品一区二区三区免费| 国产精品久久久久久久久久久久午夜片| 香蕉视频免费在线看| 欧美极品另类videosde| 免费看日本黄色| 芒果视频成人app| 日韩一区二区三区观看| 中文字幕丰满乱子伦无码专区| 日韩伦理视频| 国内精品小视频在线观看| 天天操天天干天天摸| 国产一区二区三区综合| 久久久水蜜桃| av色综合久久天堂av色综合在| 精品国产成人av| 五月天婷婷影视| 日本韩国欧美超级黄在线观看| 中文字幕欧美日韩va免费视频| 久久久久久久久久久久久久免费看 | av片在线免费| 国产精品第一国产精品| 亚洲福利精品在线| 亚洲 欧美 变态 另类 综合| 销魂美女一区二区三区视频在线| 成人激情视频小说免费下载| 免费一级在线观看播放网址| 亚洲午夜一区二区| 欧美日韩中文不卡| 免费成人网www| 久久免费精品视频| 91亚洲国产成人精品一区| 91网站视频在线观看| 国产911在线观看| 嫩草伊人久久精品少妇av杨幂| 亚洲国产欧美久久| jizz亚洲少妇| 精品亚洲成av人在线观看| 欧美一区二区三区在线播放| 麻豆av在线免费观看| 5月丁香婷婷综合| 性猛交娇小69hd| 午夜亚洲性色福利视频| 国产伦精品一区二区三区高清版| 国产成人高清精品| 欧美日韩国产另类一区| 丰腴饱满的极品熟妇| 亚洲狼人精品一区二区三区| 99在线热播| 超碰在线观看免费版| 欧美视频精品在线观看| 国产中年熟女高潮大集合| 99re国产精品| 国产另类第一区| 国产精品186在线观看在线播放| 欧美一区在线视频| 国产精品99久久久久久成人| 麻豆精品一区二区三区| 亚洲 国产 日韩 综合一区| 日韩精品专区| 国产亚洲精品久久久久动| 中文字幕在线看人| 91小视频在线| 99999精品视频| 亚洲另类av| 日韩av大片在线| 成人av电影观看| 欧美日韩电影在线| 熟女av一区二区| 国产老妇另类xxxxx| 91视频成人免费| h视频久久久| 97色伦亚洲国产| 欧美捆绑视频| 在线视频欧美精品| 911国产在线| 国产九色精品成人porny| avove在线观看| 国产suv精品一区二区四区视频| 久久久久女教师免费一区| 人妻少妇精品无码专区久久| 五月激情六月综合| 谁有免费的黄色网址| 蜜臀av一区二区在线观看| 中文字幕不卡每日更新1区2区| 一级欧美视频| 欧美激情2020午夜免费观看| 三级视频在线| 欧美日韩在线观看一区二区 | av在线收看| 欧美一区二区视频在线观看2020| 久久久久久国产精品免费播放| 91在线观看下载| 九九九在线观看视频| 亚洲第一天堂| 久久久久久久久久久久久久一区 | 国产中文一区二区| 国产日韩电影| 久久夜色撩人精品| 天堂中文在线观看视频| 欧日韩精品视频| 18精品爽视频在线观看| 久久精子c满五个校花| 91福利免费观看| 亚洲国产专区| 亚洲国产另类久久久精品极度| 日韩一二三区在线观看| 欧洲日韩成人av| www在线免费观看视频| 亚洲精品在线看| 国产精品人妻一区二区三区| 欧美日韩亚洲91| www深夜成人a√在线| www国产亚洲精品久久麻豆| 91福利免费观看| 国产精品亚洲欧美| 蜜桃视频成人在线观看| 一区二区导航| 国产乱码精品一区二区三区不卡| 欧美激情啪啪| 欧美一乱一性一交一视频| 成人福利网站| 尤物yw午夜国产精品视频明星| 韩国av免费在线| 欧美乱妇23p| 福利网址在线观看| 亚洲一区二区美女| 黄色裸体一级片| 久久综合久色欧美综合狠狠| 台湾佬美性中文| 久久99久久精品欧美| 蜜臀久久99精品久久久酒店新书| 欧美视频四区| 男同互操gay射视频在线看| 国产精品中文字幕亚洲欧美| 国产精品久久国产三级国电话系列| 美女视频一区| 国产精品久久久久久亚洲影视 | 亚洲一区二区三区| 色噜噜狠狠一区二区三区| 精品深夜福利视频| 99理论电影网| 精品国产一级| 国产日韩精品在线播放| 国产亚洲精彩久久| 国产精品精品一区二区三区午夜版 | 日韩成人av免费| 青娱乐精品在线视频| 毛葺葺老太做受视频| 国产精品一二| 青青草原av在线播放| 亚洲每日在线| 男人添女人下面高潮视频| 亚洲无毛电影| 人妻久久久一区二区三区| 亚洲特级毛片| 青青草国产精品视频| 亚洲小说欧美另类婷婷| 欧美性猛交内射兽交老熟妇| 午夜国产精品视频免费体验区| 欧美三级午夜理伦三级老人| 婷婷综合激情| 中文字幕乱码免费| 欧美在线精品一区| 中文字幕人妻熟女人妻洋洋| 欧美成人中文| 91黄色在线看| 亚洲精品韩国| 欧美牲交a欧美牲交aⅴ免费真| 在线综合亚洲| 日韩视频免费在线播放| 日本aⅴ亚洲精品中文乱码| 天美星空大象mv在线观看视频| 美女视频一区在线观看| 在线不卡一区二区三区| 国产一区二区电影| 男人添女人荫蒂国产| 99在线精品观看| 一区二区三区久久久久| 中文字幕欧美日韩一区| 亚洲综合视频网站| 亚洲一区二区三区四区五区黄| 91看片在线播放| 91电影在线观看| 国产精品玖玖玖| 亚洲国产精品久久精品怡红院| 亚洲欧美丝袜中文综合| 亚洲视频在线观看| 日本在线人成| 久久久久免费精品国产| 亚洲日本网址| 91在线免费观看网站| 国产精品中文字幕制服诱惑| 日韩av在线电影观看| 亚洲精品一区二区在线看| 男人添女荫道口女人有什么感觉| 亚洲影视综合| 天堂中文av在线| www.亚洲国产| 超碰人人人人人人人| 亚洲一区二区欧美| 天天干天天插天天射| 日韩欧美高清dvd碟片| 亚洲av毛片成人精品| 日韩一区二区欧美| caoporn视频在线| 国产精品视频不卡| 国内毛片久久| 亚洲在线观看一区| 99精品国产福利在线观看免费| 午夜久久久精品| 成人ar影院免费观看视频| 国产在视频线精品视频| 五月婷婷激情综合| 国产又大又黄的视频| 亚洲老头同性xxxxx| 婷婷丁香在线| 国产精品入口夜色视频大尺度| 麻豆精品少妇| av磁力番号网| 免费成人av资源网| 国产精品久久无码| 亚洲美女区一区| 中文字幕av片| 日韩电影网在线| 国产www视频在线观看| 国产日韩欧美夫妻视频在线观看 | 一级一片免费看| 欧美mv日韩mv亚洲| 在线观看麻豆| 日韩美女在线观看一区| 精品国产一区二区三区成人影院| 在线视频不卡一区二区三区| 午夜在线精品| 国产黄色三级网站| 一区二区三区中文免费| 88av.com| 成人高清在线视频| 中文字幕在线观看2018| 在线观看亚洲专区| 天堂a√在线| 久久久之久亚州精品露出| 国产麻豆一区二区三区| 亚洲精品永久www嫩草| 久久精选视频| 无码人妻精品一区二区中文| 精品国产999| 无码国产精品96久久久久| 欧美xxxx做受欧美.88| 日韩一级特黄| 亚洲精品久久区二区三区蜜桃臀 | 欧洲中文字幕国产精品| xxxx日韩| 国产精品又粗又长| 粉嫩一区二区三区在线看| 欧美日韩精品一区二区三区视频播放| 欧美日韩在线观看一区二区 | 亚洲精品视频在线看| 国产精品一级视频| 久久综合网hezyo| 999色成人| 亚洲av首页在线| 国产成人午夜高潮毛片| 麻豆影视在线播放| 精品成人免费观看| 成人免费观看在线观看| 精品一区二区三区国产| 国产亚洲一区在线| 日本高清www| 欧美影院精品一区| 免费黄色在线| 亚洲综合小说区| 极品少妇一区二区三区| 熟妇人妻久久中文字幕| 色综合中文字幕国产| 国产一区精品| 国产欧美日韩专区发布| 欧美一区在线看| 2一3sex性hd| 色噜噜久久综合| 日本在线观看网站| 99porn视频在线| a91a精品视频在线观看| 舐め犯し波多野结衣在线观看| 欧美网站大全在线观看| 污污片在线免费视频| 国产在线精品一区二区三区| 日韩精品一二三| 免费国产羞羞网站美图| 亚洲国产99精品国自产| 成人在线视频播放| 18视频在线观看娇喘| 91免费在线视频观看| 亚洲图片欧美日韩| 欧美成人黄色小视频| 色婷婷综合久久久久久| 在线观看av网页| 亚洲国产成人91porn| 国产视频在线看| 99精品99久久久久久宅男| 免费日韩av片| 91嫩草|国产丨精品入口| 亚洲国产欧美一区二区三区久久| 日韩中文视频| 高清无码视频直接看| 国产日产欧美一区二区三区| 精品国产伦一区二区三区| 555www成人网| 一本一本久久a久久综合精品| 搡老熟女老女人一区二区| 欧美日韩一级黄| 蜜桃麻豆影像在线观看| 在线观看成人av| 91美女精品福利| 国产色视频在线| 国产98色在线| 亚洲日本视频|