亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > acegi參考手冊(cè)(v1.0.4)[譯]-第二章 技術(shù)概覽[上]

acegi參考手冊(cè)(v1.0.4)[譯]-第二章 技術(shù)概覽[上]
2010-01-13 23:22:32  作者:  來源:

第二章. 技術(shù)概覽

2.1. 運(yùn)行時(shí)環(huán)境

Acegi Security可以在JRE1.3中運(yùn)行。這個(gè)發(fā)行版本中支持也Java 5.0,盡管對(duì)應(yīng)的Java類型被分開打包到一個(gè)后綴是“tiger”的包中。因?yàn)?/span>Acegi Security致力于以一種自包含的方式運(yùn)行,因此不需要在JRE中放置任何特殊的配置文件。特別無需配置Java Authentication and Authorization Service (JAAS)策略文件或者將Acegi Security放置到通用的classpath路徑中。

 

同樣的,如果你使用EJB容器或者Servlet容器,同樣無需放置任何特別的配置文件或者將Acegi Security包含在服務(wù)器的類加載器(classloader)中。

 

上述的設(shè)計(jì)提供了最大的部署靈活性,你可以直接把目標(biāo)工件(JAR, WAR 或者 EAR))直接從一個(gè)系統(tǒng)copy到另一個(gè)系統(tǒng),它馬上就可以運(yùn)行起來。

 

2.2. 共享組件

讓我們來看看Acegi Security中最重要的一些共享組件。所謂共享組件是指在框架中處于核心地位,系統(tǒng)脫離了它們之后就不能運(yùn)行。這些Java類型代表了系統(tǒng)中其他部分的構(gòu)建單元,因此理解它們是非常重要的,即使你不需要直接和它們打交道。

 

最基礎(chǔ)的對(duì)象是SecurityContextHolder在這里存儲(chǔ)了當(dāng)前應(yīng)用的安全上下文(security context),包括正在使用應(yīng)用程序的principal的詳細(xì)信息。SecurityContextHolder默認(rèn)使用ThreadLocal來存儲(chǔ)這些詳細(xì)信息,這意味著即便安全上下文(security context)沒有被作為一個(gè)參數(shù)顯式傳入,它仍然是可用的。如果在當(dāng)前principal的請(qǐng)求處理后清理線程,那么用這種方式使用ThreadLocal是非常安全的。當(dāng)然, Acegi Security自動(dòng)為你處理這些,所以你無需擔(dān)心。

 

有些應(yīng)用程序由于使用線程的方式而并不是完全適用ThreadLocal。例如,Swing客戶端可能需要一個(gè)Java Virtual Machine中的所有線程都使用同樣的安全上下文(security context)。在這種情況下你要使用SecurityContextHolder.MODE_GLOBAL模式。另外一些應(yīng)用程序可能需要安全線程產(chǎn)生的線程擁有同樣的安全標(biāo)識(shí)符security identity)。這可以通過SecurityContextHolder.MODE_INHERITABLETHREADLOCAL來實(shí)現(xiàn)。你可以通過兩種方法來修改默認(rèn)的SecurityContextHolder.MODE_THREADLOCAL。第一種是設(shè)置一個(gè)系統(tǒng)屬性。或者,調(diào)用SecurityContextHolder的一個(gè)靜態(tài)方法。大部分的應(yīng)用程序不需要修改默認(rèn)值,不過如果你需要,那么請(qǐng)查看SecurityContextHolderJavaDocs獲取更多信息。

 

我們?cè)?/span>SecurityContextHolder中存儲(chǔ)當(dāng)前和應(yīng)用程序交互的principal的詳細(xì)信息。Acegi Security使用一個(gè)Authentication對(duì)象來代表這個(gè)信息。盡管你通常不需要自行創(chuàng)建一個(gè)Authentication對(duì)象,用戶還是經(jīng)常會(huì)查詢Authentication對(duì)象

 

你可以在你的應(yīng)用程序中的任何地方使用下述的代碼塊:

java 代碼
 
  1. Object obj = SecurityContextHolder.getContext().getAuthentication().getPrincipal();  
  2. if (obj instanceof UserDetails) {  
  3. String username = ((UserDetails)obj).getUsername();  
  4. else {  
  5. String username = obj.toString();  
  6. }  
 

上述的代碼展示了一些有趣的聯(lián)系和關(guān)鍵的對(duì)象。首先,你會(huì)注意到在SecurityContextHolderAuthentication之間有一個(gè)媒介對(duì)象。SecurityContextHolder.getContext() 方法實(shí)際上返回一個(gè)SecurityContextAcegi Security使用若干個(gè)不同的SecurityContext實(shí)現(xiàn),以備我們需要存儲(chǔ)一些和principal無關(guān)的特殊信息。一個(gè)很好的例子就是我們的Jcaptcha集成,它需要知道一個(gè)需求是否是由人發(fā)起的。這樣的判斷和principal是否通過認(rèn)證完全沒有關(guān)系,因此我們將它保存在SecurityContext中。

 

從上述的代碼片段可以看出的另一個(gè)問題是你可以從一個(gè)Authentication對(duì)象中獲取一個(gè)principalPrincipal只是一個(gè)對(duì)象。通常可以把它cast為一個(gè)UserDetails對(duì)象。UserDetailsAcegi Security中是一個(gè)核心接口,它以一種擴(kuò)展以及應(yīng)用相關(guān)的方式來展現(xiàn)一個(gè)principal。可以把UserDetails看作是你的用戶數(shù)據(jù)庫和Acegi SecuritySecurityContextHolder所需要的東西之間的一個(gè)適配器(adapter)。作為你自己用戶數(shù)據(jù)庫的一個(gè)展現(xiàn),你可能經(jīng)常要把它cast到你應(yīng)用程序提供的原始對(duì)象,這樣你就可以調(diào)用業(yè)務(wù)相關(guān)的方法(例如 getEmail(), getEmployeeNumber())

 

現(xiàn)在你可能已經(jīng)開始疑惑,那我什么時(shí)候提供UserDetails對(duì)象呢?我要如何提供呢?

我想你告訴過我這個(gè)東西是聲明式的,我不需要寫任何Java代碼-那怎么做到呢?對(duì)此的簡短回答就是有一個(gè)叫做UserDetailsService的特殊接口。這個(gè)接口只有一個(gè)方法,接受一個(gè)Sring類型的參數(shù)并返回一個(gè)UserDetailsAcegi Security提供的大多數(shù)認(rèn)證提供器將部分認(rèn)證過程委派給UserDetailsServiceUserDetailsService用來構(gòu)建保存在SecurityContextHolder中的Authentication對(duì)象。好消息是我們提供若干個(gè)UserDetailsService的實(shí)現(xiàn),包括一個(gè)使用in-memory map和另一個(gè)使用JDBC的。

大多數(shù)用戶還是傾向于寫自己的實(shí)現(xiàn),這樣的實(shí)現(xiàn)經(jīng)常就是簡單的構(gòu)建于已有的Data Access Object (DAO)上,這些DAO展現(xiàn)了他們的雇員、客戶、或者其他企業(yè)應(yīng)用程序中的用戶。要記得這樣做的好處,不論你的UserDetailsService返回什么,它總是可以從SecurityContextHolder中獲取,象上面的代碼顯示的那樣。

 

除了principalAuthentication提供的另一個(gè)重要方法就是getAuthorities()。這個(gè)方法返回一個(gè)GrantedAuthority對(duì)象數(shù)組。GrantedAuthority,毫無疑問,就是授予principal的權(quán)限。這些權(quán)限通常是“角色”,例如ROLE_ADMINISTRATOR 或者ROLE_HR_SUPERVISOR這些角色稍后配置到web授權(quán),方法授權(quán)和領(lǐng)域?qū)ο笫跈?quán)。Acegi Security的其他部分能夠處理這些權(quán)限,并且期待他們被提供。通常你會(huì)從UserDetailsService中返回GrantedAuthority對(duì)象。

 

通常GrantedAuthority對(duì)象都是應(yīng)用范圍的權(quán)限。它們都不對(duì)應(yīng)特定的領(lǐng)域?qū)ο蟆R虼耍銘?yīng)該不會(huì)有一個(gè)代表54號(hào)員工對(duì)象的GrantedAuthority因?yàn)檫@樣會(huì)有數(shù)以千計(jì)的authority,你馬上就會(huì)用光所有內(nèi)存(或者,至少會(huì)讓系統(tǒng)花太長時(shí)間來認(rèn)證一個(gè)用戶)。當(dāng)然,Acegi Security會(huì)高效的處理這種普遍的需求,但是你不會(huì)使用領(lǐng)域?qū)ο蟀踩δ軄韺?shí)現(xiàn)這個(gè)目的。

 

最后,但不是不重要,你有時(shí)候需要在HTTP 請(qǐng)求之間存儲(chǔ)SecurityContext。另外有些時(shí)候你在每次請(qǐng)求的時(shí)候都會(huì)重新認(rèn)證principal,不過大部分時(shí)候你會(huì)存儲(chǔ)SecurityContextHttpSessionContextIntegrationFilterHTTP之間存儲(chǔ)SecurityContext。正如類名字顯示的那樣,它使用HttpSession來進(jìn)行存儲(chǔ)。基于安全原因,你永遠(yuǎn)都不要直接和HttpSession交互。沒有理由這么做,所以記得使用SecurityContextHolder來代替。

 

讓我們回憶一下,Acegi Security的基本組成構(gòu)件是:

SecurityContextHolder,提供對(duì)SecurityContext的所有訪問方式。

SecurityContext, 存儲(chǔ)Authentication以及可能的請(qǐng)求相關(guān)的安全信息。

HttpSessionContextIntegrationFilter, web請(qǐng)求之間把SecurityContext存儲(chǔ)在HttpSession中。

Authentication, Acegi Security的方式表現(xiàn)principal

GrantedAuthority, 表示賦予一個(gè)principal的應(yīng)用范圍的權(quán)限。

UserDetails, 為從你的應(yīng)用程序DAO中獲取必要的信息來構(gòu)建一個(gè)Authentication 對(duì)象。

UserDetailsService,用傳入的String類型的username(或者認(rèn)證ID,或類似)來創(chuàng)建一個(gè)UserDetails

 

現(xiàn)在你已經(jīng)理解了這些重復(fù)使用的組件,讓我們仔細(xì)看看認(rèn)證過程吧。

 

2.3. 認(rèn)證

正如我們?cè)谑謨?cè)開始部分所說的那樣,Acegi Security適用于很多認(rèn)證環(huán)境。雖然我們建議大家使用Acegi Security自身的認(rèn)證功能而不是和容器管理認(rèn)證(Container Managed Authentication)集成,但是我們?nèi)匀恢С诌@種和你私有的認(rèn)證系統(tǒng)集成的認(rèn)證。讓我們先從Acegi Security完全自行管理管理web安全的角度來探究一下認(rèn)證,這也是最復(fù)雜和最通用的情形。

 

想象一個(gè)典型的web應(yīng)用的認(rèn)證過程:

 

1.你訪問首頁,點(diǎn)擊一個(gè)鏈接。

2.一個(gè)請(qǐng)求被發(fā)送到服務(wù)器,服務(wù)器判斷你是否請(qǐng)求一個(gè)被保護(hù)的資源。

3.因?yàn)槟惝?dāng)前未被認(rèn)證,服務(wù)器發(fā)回一個(gè)回應(yīng),表明你必須通過認(rèn)證。這個(gè)回應(yīng)可能是一個(gè)HTTP回應(yīng)代碼,或者重定向到一個(gè)特定的網(wǎng)頁。

4.基于不同的認(rèn)證機(jī)制,你的瀏覽器會(huì)重定向到一個(gè)網(wǎng)頁好讓你填寫表單,或者瀏覽器會(huì)用某種方式獲取你的身份認(rèn)證(例如一個(gè)BASIC認(rèn)證對(duì)話框,一個(gè)cookie,一個(gè)X509證書等等。)。

5.瀏覽器會(huì)發(fā)回給服務(wù)器一個(gè)回應(yīng)。可能是一個(gè)包含了你填寫的表單內(nèi)容的HTTP POST,或者一個(gè)包含你認(rèn)證詳細(xì)信息的HTTP header

6.接下來服務(wù)器會(huì)判斷提供的認(rèn)證信息是否有效。如果它們有效,你進(jìn)入到下一步。如果它們無效,那么通常請(qǐng)求你的瀏覽器重試一次(你會(huì)回到上兩步)。

7.你引發(fā)認(rèn)證的那個(gè)請(qǐng)求會(huì)被重試。但愿你認(rèn)證后有足夠的權(quán)限訪問那些被保護(hù)的資源。如果你有足夠的訪問權(quán)限,請(qǐng)求就會(huì)成功。否則,你將會(huì)受到一個(gè)意味“禁止”的HTTP403錯(cuò)誤代碼。

 

Acegi Security中,對(duì)應(yīng)上述的步驟,有對(duì)應(yīng)的類。主要的參與者(按照被使用的順序)是:ExceptionTranslationFilter AuthenticationEntryPoint 認(rèn)證機(jī)制(authentication mechanism) 以及AuthenticationProvider

 

ExceptionTranslationFilterAcegi Security用來檢測(cè)任何拋出的安全異常的過濾器(filter)。這種異常通常是由AbstractSecurityInterceptor拋出的,它是授權(quán)服務(wù)的主要提供者。我們將會(huì)在下一部分討論AbstractSecurityInterceptor現(xiàn)在我們只需要知道它產(chǎn)生Java異常,并且對(duì)于HTTP或者如何認(rèn)證一個(gè)principal一無所知。反而是ExceptionTranslationFilter提供這樣的服務(wù),它負(fù)責(zé)要么返回403錯(cuò)誤代碼(如果principal通過了認(rèn)證,只是缺少足夠的權(quán)限,象上述第7步那樣),要么加載一個(gè)AuthenticationEntryPoint (如果principal還沒有被認(rèn)證,那么我們要從第3步開始)

 

AuthenticationEntryPoint負(fù)責(zé)上述的第3步。如你所想,每個(gè)web應(yīng)用都有一個(gè)默認(rèn)的認(rèn)證策略(象Acegi Security中幾乎所有的東西一樣,它也是可配置的,不過我們現(xiàn)在還是還是從簡單開始)。每個(gè)主流的認(rèn)證系統(tǒng)都有它自己的AuthenticationEntryPoint實(shí)現(xiàn),負(fù)責(zé)執(zhí)行第3步中描述的動(dòng)作。

 

當(dāng)瀏覽器確定要發(fā)送你的認(rèn)證信息(HTTP 表單或者HTTP header),服務(wù)器上需要有什么東西來“收集”這些認(rèn)證信息。現(xiàn)在我們?cè)谏鲜龅牡?/span>6步。在Acegi Security中對(duì)從用戶代理(通常是瀏覽器)收集認(rèn)證信息有一個(gè)特定的名字,這個(gè)名字是“認(rèn)證機(jī)制(authentication mechanism)”。當(dāng)認(rèn)證信息從客戶代理收集過來以后,一個(gè)“認(rèn)證請(qǐng)求(Authentication request)”對(duì)象被創(chuàng)建,并發(fā)送到AuthenticationProvider

 

Acegi Security中認(rèn)證的最后一環(huán)是一個(gè)AuthenticationProvider非常簡單,它的職責(zé)是取用一個(gè)認(rèn)證請(qǐng)求(Authentication request)對(duì)象,并且判斷它是否有效。這個(gè)provider要么拋出一個(gè)異常,要么返回一個(gè)組裝完畢的Authentication對(duì)象。還記得我們的好朋友UserDetails UserDetailsService吧?如果沒有,回到前一部分重新回憶一下。大部分的AuthenticationProviders都會(huì)要求UserDetailsService提供一個(gè)UserDetails對(duì)象。如前所述,大部分的應(yīng)用程序會(huì)提供自己的UserDetailsService,盡管有些會(huì)使用Acegi Security提供的JDBC或者 in-memory實(shí)現(xiàn)。作為成品的UserDetails 對(duì)象,特別是其中的GrantedAuthority[]s,在構(gòu)建完備的Authentication對(duì)象時(shí)會(huì)被使用。

 

當(dāng)認(rèn)證機(jī)制(authentication mechanism)取回組裝完全的Authentication對(duì)象后,它將會(huì)相信請(qǐng)求是有效的,將Authentication放到SecurityContextHolder中,并且將原始請(qǐng)求取回(上述第7步)。反之,AuthenticationProvider則拒絕請(qǐng)求,認(rèn)證機(jī)制(authentication mechanism)會(huì)請(qǐng)求用戶重試(上述第2步)。

 

在講述典型的認(rèn)證流程的同時(shí),有個(gè)好消息是Acegi Security不關(guān)心你是如何把Authentication放到SecurityContextHolder內(nèi)的。唯一關(guān)鍵的是在AbstractSecurityInterceptor授權(quán)一個(gè)請(qǐng)求之前,在SecurityContextHolder中包含一個(gè)代表了principalAuthentication

 

你可以(很多用戶確實(shí))實(shí)現(xiàn)自己的過濾器(filter)或者MVC控制器(controller)來提供和不是基于Acegi Security的認(rèn)證系統(tǒng)交互。例如,你可能使用使用容器管理認(rèn)證(Container Managed Authentication),從ThreadLocal 或者JNDI中獲取當(dāng)前用戶信息,使得它有效。或者,你工作的公司有一個(gè)遺留的私有認(rèn)證系統(tǒng),而它是公司“標(biāo)準(zhǔn)”,你對(duì)它無能為力。在這種情況之下也是非常容易讓Acegi Security運(yùn)作起來,提供認(rèn)證能力。你所需要做的是寫一個(gè)過濾器(或等價(jià)物)從某處讀取第三方用戶信息,構(gòu)建一個(gè)Acegi Security式的Authentication對(duì)象,把它放到SecurityContextHolder中。這非常容易做,也是一種廣泛支持的集成方式。


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 天天操夜夜操免费视频 | 成人免费在线 | 欧美精品一区二区三区在线播放 | 国产精品极品美女在线观看免费 | 久久久精品影院 | 一本久久a久久精品亚洲 | 亚洲欧美中文日韩在线v日本 | 国产日韩精品视频 | 久久国产精品一区二区 | 亚洲精品日韩在线 | 日韩精品视频在线 | 99久久免费精品国产男女性高好 | 国产91在线播放精品 | 国产一区日韩在线 | 亚洲精品一区二区三区四区高清 | 色橹橹欧美在线观看视频高清 | 国产精品久久久久久久一区探花 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 亚洲a在线观看 | 91香蕉 | a级片网站| 一区二区三区小视频 | 国产99久久 | 操人网址 | 欧美jizzhd精品欧美巨大免费 | 日韩视频中文字幕 | 欧美一级片在线观看 | 午夜影院黄色 | 韩国毛片在线 | 黄色欧美视频 | a级在线观看 | 久久久久国产精品一区二区三区 | www.成人在线视频 | 日韩亚洲一区二区 | 91精品中文字幕一区二区三区 | 精品超碰 | 色婷婷久久 | 亚洲一区综合 | 操操操操操操操 | 自拍偷拍在线视频 | 欧美一区免费 | 国产真实精品久久二三区 | 亚洲免费在线观看 | 在线播放国产一区二区三区 | 国产乱肥老妇国产一区二 | 国产高清一二三区 | 欧美一区二区免费 | 一区二区免费 | 日韩毛片在线观看 | 一级片免费视频 | 天天澡天天狠天天天做 | 久久亚洲一区二区三区四区 | 久操国产 | 欧美日韩精品一区二区 | 日韩综合一区二区 | 黄色在线观看网址 | 深夜福利1000 | 精品久久久久香蕉网 | av毛片在线免费看 | 可以看的毛片网站 | 91精品国产综合久久久久久 | 一级性视频 | 亚洲免费一区二区 | 麻豆产精国品免费入口 | 欧美久久成人 | 久久精品久久久 | 日韩免费视频 | 日韩欧美综合 | 午夜亚洲福利 | 亚洲视频在线免费观看 | 久久一二 | 仙人掌旅馆在线观看 | 蜜月久综合久久综合国产 | 国产激情综合五月久久 | 日韩国产欧美视频 | 91高清视频 | 成人国产精品久久久 | 午夜精品久久久久久久星辰影院 | 日韩在线视频一区 | 91精产国品一二三区在线观看 | 蜜桃久久av| 久久久精品网站 | 一区二区国产精品 | 91在线视频免费播放 | 欧美日本国产欧美日本韩国99 | 久久成人18免费网站 | 国产午夜精品久久久久久久 | 亚洲毛片 | www精品| 欧美亚洲日本 | 美女国产精品 | 好看的一级毛片 | 精品视频一区二区在线观看 | 亚洲精品中文视频 | 成人小视频在线看 | 亚洲精品a | 亚洲aaaaaa特级 | 伊人网在线免费观看 | 国产在线观看一区二区 | 免费黄看片 | 色综合激情| 国产精品爱久久久久久久 | 伊人免费视频 | 国产拍拍视频 | 亚洲综合二 | 色综合久久久久 | 美女视频一区二区三区 | 亚洲区一区二 | 欧美亚洲日本 | 久久精品美女 | 欧美自拍视频一区 | 国产一级片播放 | 国产一级免费视频 | 九九视频网 | 午夜视频网站 | 亚洲成人在线视频观看 | 亚洲女人天堂av | 一级毛片视频 | 嫩草影院在线观看91麻豆 | 精品欧美一区二区三区久久久小说 | 亚洲网站在线观看 | 国产精品成人国产乱一区 | 色视频网站在线观看一=区 日韩一二三区 | 精品综合 | www.久久 | 97精品国产97久久久久久粉红 | 欧美成人一区二区 | 九九精品免费视频 | 成人av网站在线观看 | 天天干com | 香蕉大人久久国产成人av | 国产一二三四在线 | 国产精品久久久久久久久久久新郎 | 黄视频免费在线 | 天天爽夜夜爽夜夜爽精品视频 | 欧美国产高清 | 999久久久国产精品 免费视频一区 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 91在线精品一区二区 | 欧美电影一区 | 日本免费三片免费观看 | 国产成人精品综合 | 天堂一区二区三区四区 | 欧美激情一区二区三区蜜桃视频 | 香蕉国产精品 | 日韩精品一区二区三区 | 日韩欧美一区二区三区久久婷婷 | 神马久久精品 | 嫩草精品| 高清国产一区二区三区 | 人人干天天操 | 精品一区二区三区四区视频 | 亚洲精品一区二区三区在线播放 | 黄色大片网站在线观看 | 国产精品成人在线 | 久久精品六 | 黄色片免费观看 | 免费无遮挡www小视频 | 欧洲美女性开放视频 | 亚洲精品v | 国产免费视频 | 91精品久久久久久久久久 | 久久成人精品 | 国产一区二区精品 | 日韩在线视频观看 | 人成亚洲| 成人免费黄色毛片 | 伊人伊人网 | 女同理伦片在线观看禁男之园 | 日韩久久午夜一级啪啪 | 午夜资源 | 国产日韩欧美一区二区 | 亚洲免费视频在线观看 | 精品日韩一区二区三区 | 欧美日韩精品一区二区在线观看 | 国产区在线观看 | 亚洲国产精品久久久久秋霞蜜臀 | 国产一二三四在线 | 国产精品久久久久9999鸭 | 精品日韩视频 | 亚洲夜幕久久日韩精品一区 | 欧美成人综合在线 | 一区二区在线视频免费观看 | 日韩精品一区二区三区第95 | 欧美性一区二区三区 | 伊人小视频 | 嫩草91 | 亚洲男人天堂网 | 精品久久一区二区 | 在线观看91精品国产入口 | 国产精品色 | xnxx 美女19| 亚洲 成人 av| 国产精品国产三级国产aⅴ原创 | 一级毛片免费观看 | 久久777| 一区二区中文 | 中文字幕成人av | 亚洲视频在线观看 | 精品国产一区二区三区久久久蜜月 | 在线观看免费av的网址 | 99re国产精品视频 | 日韩国产精品一区二区 | 蜜桃视频一区二区三区 | 亚洲精品一区二三区不卡 | www.欧美 | 国产精品丝袜视频 | 伊人久麻豆社区 | 国产精品久久久久久久久久 | 国产男女爽爽爽免费视频 | 中国一级毛片免费 | √天堂在线 | 亚洲热在线观看 | 国产一区二区三区免费 | 一级做a爰性色毛片免费1 | chengrenzaixian| 日韩av电影在线免费观看 | 国产在线不卡 | 成人午夜电影在线观看 | h免费在线| 欧美人成在线视频 | 五月激情综合 | 久久国产精品久久久久久电车 | 久久久久久亚洲 | 草比网站| 久久综合久 | 人人干在线视频 | 99re6在线| 亚洲一区综合 | 高清国产午夜精品久久久久久 | 韩国精品一区二区 | 日韩在线中文字幕 | av网站推荐 | 91亚洲狠狠婷婷综合久久久 | 欧美视频在线一区 | 国产一区二区三区精品久久久 | 精品网站999www | 国产欧美精品一区二区三区四区 | 欧美久久久久久久 | 日韩精品视频在线 | 国产一区二区三区久久 | 97国产精品视频人人做人人爱 | 7777av | 黄色一级视频 | 一区二区三区欧美在线 | 亚洲国产精品99久久久久久久久 | 成年人在线观看视频 | 国产精品久久免费视频 | 国产精品久久久久9999赢消 | 很黄很污的网站 | 99精品热视频 | 少妇一区二区三区 | 国产福利一区二区 | 免费观看一区二区三区毛片 | 一区二区久久久 | 自拍一区视频 | 2021狠狠干 | 精品日韩欧美一区二区三区 | 91国内外精品自在线播放 | 国精品一区 | 永久看片| 日韩在线欧美 | 一本岛在线视频 | 国产羞羞视频在线观看 | 国产精品中文字幕在线观看 | 亚洲欧美影院 | 国产最好的av国产大片 | 黄色网亚洲 | 一级电影在线观看 | 成a人片在线观看 | 免费看国产片在线观看 | 久久黄色网 | 成人欧美一区二区三区色青冈 | 亚洲精品一区二区在线 | 欧美日韩亚洲国产综合 | 亚洲精品自在在线观看 | 欧美视频综合 | 国产精品99一区二区三区 | 精品成人一区 | 久久久久无码国产精品一区 | 91观看在线视频 | 色婷婷亚洲国产女人的天堂 | 特级毛片在线大全免费播放 | 亚洲成人久久久 | 一区二区在线视频 | 久久综合九九 | 暖暖日本在线视频 | 四虎免费紧急入口观看 | 久久99精品久久久久久琪琪 | 国产一区二区精品在线 | 国产午夜精品一区二区三区嫩草 | 一级片黄色免费 | 日日干夜夜干 | 国精品产品区三区 | 国产噜噜噜噜噜久久久久久久久 | 一区亚洲| 最新午夜| 日韩视频在线免费观看 | 精品九九 | 毛片视频播放 | 91精品国产欧美一区二区成人 | 亚洲国产日韩a在线播放性色 | 中文字幕日韩在线 | 国产精品99 | 玖玖在线免费视频 | 蜜桃av网址 | 欧美一区二区在线视频 | 国产黄网 | 久久久久久久久一区二区 | 久久久久久久久一区 | 久久久国产精品 | 色婷婷久久 | 欧美精品一区二区三区四区五区 | 日韩中文视频 | 精品视频一区二区三区 | 三级网站视频 | 久久大陆 | 一区二区三区高清 | 九九视频在线 | 91麻豆精品国产91久久久久久 | 91九色麻豆 | 午夜日韩 | 日日综合| 一区二区三区免费在线 | 亚洲视频免费在线观看 | 婷婷久久综合 | 欧美不卡视频 | 天天干天天插 | 久久久久久久久久一区二区 | 亚洲精品国产第一综合99久久 | 午夜家庭影院 | 免费成人小视频 | 国产精品片aa在线观看 | 国产91久久精品 | 欧美激情一区二区三区 | 亚洲精久久 | 国产精品视频一二三区 | 91最新| 青青99| 日本黄色毛片 | 蜜桃免费一区二区三区 | 欧美一级久久久 | 欧美一区二区免费 | 精品一区二区三区四区五区 | 四虎永久 | 欧美国产一区二区三区 | 男女中文字幕 | 日韩欧美国产电影 | 精品视频一区二区在线观看 | 成人精品网站在线观看 | 人人99| 日韩视频免费 | 91在线观看视频 | 亚洲国产精品综合久久久 | 日韩午夜在线视频 | 海外中文字幕在线观看 | 国产欧美综合视频 | 欧美激情欧美激情在线五月 | 高清一区二区三区视频 | 91精品国产一区二区 | 欧美视频在线一区 | 成人精品视频一区二区三区 | 亚州中文| 国产97人人超碰caoprom | 成人国产精品久久久 | 亚洲国产成人在线 | 精一区二区 | h视频在线免费 | 四虎首页 | 日本激情在线 | 青青草久草在线 | 欧美日韩亚洲国产 | 亚洲欧美视频 | 亚洲一区二区三区四区五区午夜 | 国产在线高清视频 | 日韩在线视频精品 | 久久二区三区 | 国产午夜一区二区三区 | 剑来高清在线观看 | 国产日韩精品一区二区 | 国产一区二区自拍视频 | 色爱区综合| 久久这里精品 | 久久午夜电影 | 超碰av在线| 国产www视频| 久久婷婷麻豆国产91天堂 | www.国产视频 | 亚洲乱码国产乱码精品精98午夜 | 国产aaa大片 | 亚洲国产精品久久久久久 | 国产区视频 | 亚洲久久 | 成人高清视频在线观看 | 国产一区中文字幕 | 欧美jizzhd精品欧美巨大免费 | 日韩成人免费 | 亚洲区视频在线 | 成人免费高清视频 | 日韩成人中文字幕 | 亚洲精品久久久一区二区三区 | 成人精品| 在线精品一区 | 天天曰天天曰 | 国产精品99在线观看 | 性视频一区二区 | 亚洲欧美一| 国产麻豆乱码精品一区二区三区 | 亚洲精品视频在线免费 | 色综合一区 | a级在线免费观看 | 黄网站涩免费蜜桃网站 | 狠狠综合久久av一区二区老牛 | 亚洲激情av | 国产一级免费视频 | 国产一区二区三区四 | 成人在线| 成人免费一区二区三区视频网站 | 国产一区二区三区久久 | 亚洲精品在线免费播放 | 国产精品视频一区二区三区四蜜臂 | 999久久久国产精品 免费视频一区 | 91免费小视频 | 伊人网av| 欧美日韩国产一区二区三区 | jizz在线看片 | 亚洲一区二区三区在线视频 | 久久综合色88 | 国产福利免费视频 | 国产高清精品一区二区三区 | 日韩爱爱视频 | 影音先锋亚洲资源 | 成人午夜免费网站 | 久久久久久久免费 | 人妖天堂狠狠ts人妖天堂狠狠 | 后进极品白嫩翘臀在线视频 | 国产精品久久久久久无遮挡 | 欧美精品1区2区3区 精品国产欧美一区二区 | 一区二区国产精品 | 亚洲色图偷拍视频 | 黄色永久网站 | 亚洲精品影院 | 久精品视频 | 国产精国产精品 | 国色天香成人网 | 亚洲精品福利 | 欧美精品成人在线视频 | 国产精品福利网站 | 亚洲风情在线观看 | 91视频精选 | 亚洲成人福利在线观看 | 精品1区 | 国产高清精品在线 | 亚洲网在线 | 欧美一区二区在线观看 | 亚洲国产一区二区三区 | 狠狠操综合网 | 国产91亚洲精品久久久 | 日韩专区中文字幕 | 亚洲一区二区黄 | 久久国产精品99久久久久久老狼 | 黄色地址 | www操com| 亚洲一区二区三区高清 | 91精品麻豆日日躁夜夜躁 | 免费在线观看国产 | 日干夜操 | 国产激情网址 | 欧美在线一区二区三区 | 黄色免费网站观看 | 一区二区三区国产亚洲网站 | 中文字幕日韩欧美 | 超碰在线99 | 天天色天天看 | 91尤物网站网红尤物福利 | 国产精品一区二区三区在线 | 激情亚洲| 国产视频导航 | 人人看人人插 | 欧美电影一区 | 亚洲精品视频在线看 | 国产精品一区二区三区免费视频 | 欧美日韩在线免费观看 | 亚洲精品久久久久久久久久久久久 | 日本亚洲一区 | 91在线精品秘密一区二区 | 亚洲精品国产剧情久久9191 | 天天天天天天操 | 精品国产影院 | 国产精品久久久久久久天堂 | 一区二区三区在线视频播放 | 91精品在线观看入口 | 国产91视频一区二区 | 日韩不卡| 久久久久久麻豆 | 精品少妇一区二区三区在线播放 | 欧美久久久久久久久久久久久久 | 久久精品亚洲 | 国产精品国产精品国产专区不卡 | 欧美性猛交xxxx黑人猛交 | 亚洲免费一区二区 | 国产精品视屏 | 国产成人精品a视频一区www | 综合久久网 | 久草精品视频在线播放 | 国产欧美日韩综合精品一区二区 | 日韩1区| 一区二区精品在线 | 草比网站 | 日本一区二区高清视频 | 国产精品www| 岛国av在线| 欧美日韩激情 | 国产传媒在线视频 | 国产高清在线精品一区二区三区 | 91精品在线观看入口 | 国产一区二区影院 | 亚洲精品成人网 | 国产精品久久久久久亚洲调教 | 在线一区视频 | 一区二区三区四区在线 | 日韩免费在线视频 | 一级黄色生活视频 | 中文字幕日韩av | 国产精品中文字幕在线观看 | 亚洲性在线| 欧美一区二区三区四区五区 | 日本在线观看一区 | 日韩精品久久久久久 | 中文字幕一区二区三区在线视频 | 区一区二区三在线观看 | 亚洲欧美日韩电影 | 91xx在线观看 | 国产成人免费视频网站视频社区 | 伊人99| 中文字幕亚洲综合久久久软件 | 狠狠久久伊人中文字幕 | 特级a做爰全过程片 | 天天天天天天天天操 | 91精品国产欧美一区二区 | 欧美11一13sex性hd| 五月激情综合婷婷 | 日韩一级免费在线观看 | 91精品国产一区二区 | 91麻豆精品国产91久久久资源速度 | 色综合一区 | 男人的天堂在线视频 | 欧美日韩亚洲二区 | 国产精品1区 | 91精品国产91久久久久久吃药 | 欧美精产国品一二三区 | 亚洲不卡视频在线观看 | 最新日韩av | 亚洲一区成人在线观看 | 亚洲好看站 | 日韩精品一区二区三区在线 | 一区二区三区久久 | 成人激情视频在线观看 | 麻豆一区一区三区四区 | jizz在线播放 | 亚洲aⅴ | av在线一区二区 | 亚洲成av人片在线观看 | 一区二区三区四区免费观看 | 成人在线观看网 | 日本黄色一级片视频 | 午夜不卡福利视频 | 天天操妹子 | 日韩亚洲视频在线观看 | 狠狠操天天操 | 国产高清一区二区 | 成人影院在线 | 91免费视频观看 | 成人欧美一区二区三区黑人孕妇 | 日韩欧美综合 | 日韩精品亚洲专区在线观看 | 国产一区二区视频在线 | 国产伦精品一区二区三区照片91 | 成人欧美一区二区三区白人 | 9999国产精品欧美久久久久久 | 爱干在线 | 久色视频在线观看 | 91视频综合 | 欧美成人精品一区 | 毛片链接| 欧美一区二区视频 | 男女免费在线观看视频 | 不卡在线 | 精品日韩一区二区三区 | 欧美在线网站 | 一二区视频 | 永久免费网站 | 久久理论片| 久热免费在线观看 | 亚洲一区二区在线播放 | 亚洲午夜视频在线观看 | 色欧美片视频在线观看 | 99久久精品免费看国产一区二区三区 | 中文字幕99 | 国产成人av一区 | 日韩大尺度在线观看 | 久久久在线视频 | 国产中文一区 | 精品亚洲一区二区三区 | 免费在线观看毛片网站 | 久久久久久综合 | 在线免费看a | 久久久久久av | 日日操夜夜操天天操 | 成人免费视频网站在线观看 | 午夜精品久久久久久久星辰影院 | 国产九九在线观看 | www.成人.com| 亚洲精品99| 亚洲视频久久久 |