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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用Spring Security的多租户应用程序的无状态会话

發(fā)布時間:2023/12/3 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Spring Security的多租户应用程序的无状态会话 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從前, 我發(fā)表了一篇文章,解釋了構(gòu)建無狀態(tài)會話的原理 。 巧合的是,我們再次針對多租戶應用程序執(zhí)行同一任務。 這次,我們將解決方案集成到Spring Security框架中,而不是自己構(gòu)建身份驗證機制。

本文將解釋我們的方法和實現(xiàn)。

業(yè)務需求

我們需要為Saas應用程序建立身份驗證機制。 每個客戶都通過專用子域訪問該應用程序。 因為該應用程序?qū)⒉渴鹪谠粕?#xff0c;所以很明顯,無狀態(tài)會話是首選,因為它使我們能夠輕松部署其他實例。

在項目詞匯表中,每個客戶都是一個站點。 每個應用程序都是一個應用程序。 例如,站點可以是Microsoft或Google。 應用可能是Gmail,GooglePlus或Google云端硬盤。 用戶用于訪問應用程序的子域?qū)☉贸绦蚝驼军c。 例如,它可能看起來像microsoft.mail.somedomain.com或google.map.somedomain.com

用戶一旦登錄到一個應用程序,就可以訪問同一站點的任何其他應用程序。 一定的非活動時間后,會話將超時。

背景

無狀態(tài)會話

具有超時的無狀態(tài)應用程序并不是什么新鮮事物。 Play框架從2007年的第一個版本開始就一直是無狀態(tài)的。很多年前,我們也切換到了無狀態(tài)會話。 好處很明顯。 您的負載均衡器不需要粘性; 因此,它更易于配置。 在瀏覽器中進行會話時,我們可以簡單地引入新服務器以立即增加容量。 但是,缺點是您的會話不太大,也不是那么機密。

與會話存儲在服務器中的有狀態(tài)應用程序相比,無狀態(tài)應用程序?qū)挻鎯υ贖TTP cookie中,該cookie不能超過4KB。 此外,由于它是cookie,因此建議開發(fā)人員僅將文本或數(shù)字存儲在會話中,而不要存儲復雜的數(shù)據(jù)結(jié)構(gòu)。 會話存儲在瀏覽器中,并在每個單個請求中傳輸?shù)椒掌鳌?因此,我們應該使會話盡可能小,并避免在其上放置任何機密數(shù)據(jù)。 簡而言之,無狀態(tài)會話迫使開發(fā)人員改變應用程序使用會話的方式。 應該是用戶身份,而不是方便存儲。

安全框架

Security Framework背后的想法非常簡單,它有助于確定執(zhí)行代碼的原理,檢查他是否有權(quán)執(zhí)行某些服務,如果用戶沒有權(quán)限則拋出異常。 在實現(xiàn)方面,安全框架以AOP樣式體系結(jié)構(gòu)與您的服務集成。 每次檢查都將在調(diào)用方法之前由框架進行。 實現(xiàn)權(quán)限檢查的機制可以是過濾器或代理。

通常,安全框架會將主體信息存儲在線程存儲中(Java中的ThreadLocal)。 這就是為什么它可以隨時為開發(fā)人員提供靜態(tài)方法訪問主體的原因。 我認為這是開發(fā)人員應該知道的事情。 否則,他們可能會在單獨線程中運行的某些后臺作業(yè)中實施權(quán)限檢查或獲取主體。 在這種情況下,很明顯,安全框架將無法找到主體。

單點登錄

單一登錄主要使用身份驗證服務器來實現(xiàn)。 它獨立于實現(xiàn)會話(無狀態(tài)或有狀態(tài))的機制。 每個應用程序仍保持自己的會話。 首次訪問應用程序時,它將與身份驗證服務器聯(lián)系以對用戶進行身份驗證,然后創(chuàng)建自己的會話。

思想的食物

從頭開始構(gòu)架或構(gòu)建

由于無狀態(tài)會話是標準,因此我們最大的顧慮是使用或不使用安全框架。 如果使用的話,那么Spring Security是最便宜,最快的解決方案,因為我們已經(jīng)在應用程序中使用了Spring Framework。 為了利益,任何安全框架都為我們提供了快速聲明性的方式來聲明評估規(guī)則。 但是,它不是業(yè)務邏輯感知的訪問規(guī)則。 例如,我們可以定義僅代理可以訪問產(chǎn)品,而不能定義一個代理只能訪問屬于他的某些產(chǎn)品。

在這種情況下,我們有兩種選擇,從頭開始構(gòu)建我們自己的業(yè)務邏輯許可權(quán)檢查,或者構(gòu)建兩層許可權(quán)檢查,一種是僅基于角色,一種是業(yè)務邏輯感知。 比較兩種方法后,我們選擇了后一種方法,因為它更便宜且構(gòu)建速度更快。 我們的應用程序的功能將類似于任何其他Spring Security應用程序。 這意味著,如果在沒有會話的情況下訪問受保護的內(nèi)容,則用戶將被重定向到登錄頁面。 如果存在會話,則用戶將獲得狀態(tài)碼403。如果用戶訪問具有有效角色但未經(jīng)授權(quán)的記錄的受保護內(nèi)容,則將獲得401。

認證方式

接下來的問題是如何將我們的身份驗證和授權(quán)機制與Spring Security集成在一起。 一個標準的Spring Security應用程序可以處理如下請求:

該圖已簡化,但仍使我們有了一個初步的想法。 如果請求是登錄或注銷,則前兩個過濾器將更新服務器端會話。 此后,另一個過濾器幫助檢查請求的訪問權(quán)限。 如果權(quán)限檢查成功,則另一個過濾器將幫助將用戶會話存儲到線程存儲中。 之后,控制器將在正確的設(shè)置環(huán)境下執(zhí)行代碼。

對于我們來說,我們更喜歡創(chuàng)建身份驗證機制,因為憑據(jù)需要包含網(wǎng)站域。 例如,我們可能有Xerox的Joe和WDS的Joe訪問Saas應用程序。 由于Spring Security控制著準備身份驗證令牌和身份驗證提供程序的控制,因此我們發(fā)現(xiàn)在控制器級別實現(xiàn)自己的登錄和注銷要便宜得多,而不是花精力定制Custom Security。

當我們實現(xiàn)無狀態(tài)會話時,我們需要在這里實現(xiàn)兩項工作。 首先,我們需要在進行任何授權(quán)檢查之前從cookie構(gòu)造會話。 我們還需要更新會話時間戳,以便每次瀏覽器向服務器發(fā)送請求時刷新會話。

由于先前決定在控制器中進行身份驗證,因此我們在這里面臨挑戰(zhàn)。 我們不應該在控制器執(zhí)行之前刷新會話,因為我們在此處進行身份驗證。 但是,View Resolver附帶了一些控制器方法,這些方法可立即寫入輸出流。 因此,執(zhí)行控制器后我們沒有機會刷新Cookie。 最后,我們使用HandlerInterceptorAdapter選擇一個稍有妥協(xié)的解決方案。 該處理程序攔截器使我們可以在每種控制器方法之前和之后進行額外的處理。 如果方法用于身份驗證,則在控制器方法之后,而出于其他任何目的,則在控制器方法之前,我們實現(xiàn)刷新cookie。 新圖應如下所示

曲奇餅

為了有意義,用戶應該只有一個會話cookie。 由于會話總是在每次請求后更改時間戳,因此我們需要在每個響應上更新會話。 通過HTTP協(xié)議,只有在Cookie與名稱,路徑和域匹配時才能執(zhí)行此操作。

在滿足此業(yè)務需求時,我們更喜歡嘗試通過共享會話cookie來實現(xiàn)SSO的新方法。 如果每個應用程序都在相同的父域下并且理解相同的會話cookie,則實際上我們有一個全局會話。 因此,不再需要認證服務器。 為了實現(xiàn)這一愿景,我們必須將域設(shè)置為所有應用程序的父域。

性能

從理論上講,無狀態(tài)會話應該更慢。 假設(shè)服務器實現(xiàn)將會話表存儲在內(nèi)存中,則傳入JSESSIONID cookie只會觸發(fā)一次從會話表讀取對象,并且可選地觸發(fā)一次寫入以更新上一次訪問(用于計算會話超時)。 相反,對于無狀態(tài)會話,我們需要計算哈希值以驗證會話cookie,從數(shù)據(jù)庫加載主體,分配新的時間戳并再次哈希。

但是,以今天的服務器性能而言,散列不應增加服務器響應時間的太多延遲。 更大的問題是從數(shù)據(jù)庫查詢數(shù)據(jù),為此,我們可以使用緩存來加快速度。

在最佳情況下,如果沒有進行數(shù)據(jù)庫調(diào)用,則無狀態(tài)會話可以與有狀態(tài)會話足夠接近地執(zhí)行。 代替從由容器維護的會話表中加載,而是從由應用程序維護的內(nèi)部緩存中加載會話。 在最壞的情況下,請求被路由到許多不同的服務器,并且主體對象存儲在許多實例中。 這增加了額外的工作量,以便每臺服務器一次將主體加載到緩存。 盡管成本可能很高,但它僅偶爾出現(xiàn)一次。

如果我們將粘性路由應用于負載均衡器,則我們應該能夠?qū)崿F(xiàn)最佳情況。 這樣,我們可以將無狀態(tài)會話cookie視為與JSESSIONID相似的機制,但具有重建會話對象的后備功能。

實作

我已將此實現(xiàn)的示例發(fā)布到https://github.com/tuanngda/sgdev-blog存儲庫。 請檢查無狀態(tài)會話項目。 該項目需要一個mysql數(shù)據(jù)庫才能工作。 因此,請在build.properties之后設(shè)置一個模式,或者修改屬性文件以適合您的模式。

該項目包括用于在端口8686上啟動tomcat服務器的maven配置。因此,您只需鍵入mvn cargo:run即可啟動服務器。

這是項目層次結(jié)構(gòu):

我打包了Tomcat 7服務器和數(shù)據(jù)庫,以便除了MySQL之外無需其他任何安裝即可工作。 Tomcat配置文件TOMCAT_HOME / conf / context.xml包含數(shù)據(jù)源聲明和項目屬性文件。

現(xiàn)在,讓我們仔細看看實現(xiàn)。

屆會

我們需要兩個會話對象,一個代表會話cookie,一個代表我們在Spring安全框架內(nèi)部構(gòu)建的會話對象:

public class SessionCookieData {private int userId;private String appId;private int siteId;private Date timeStamp; }

public class UserSession {private User user;private Site site;public SessionCookieData generateSessionCookieData(){return new SessionCookieData(user.getId(), user.getAppId(), site.getId());} }

通過此組合,我們有了將會話對象存儲在cookie和內(nèi)存中的對象。 下一步是實現(xiàn)一種方法,該方法允許我們從cookie數(shù)據(jù)構(gòu)建會話對象。

public interface UserSessionService {public UserSession getUserSession(SessionCookieData sessionData); }

現(xiàn)在,又有一項服務可以從Cookie數(shù)據(jù)中檢索并生成Cookie。

public class SessionCookieService {public Cookie generateSessionCookie(SessionCookieData cookieData, String domain);public SessionCookieData getSessionCookieData(Cookie sessionCookie);public Cookie generateSignCookie(Cookie sessionCookie); }

到目前為止,我們提供的服務可幫助我們進行轉(zhuǎn)換

Cookie –> SessionCookieData –> UserSession

會話–> SessionCookieData –> Cookie

現(xiàn)在,我們應該有足夠的資料將無狀態(tài)會話與Spring Security框架集成在一起。

與Spring安全性集成

首先,我們需要添加一個過濾器以根據(jù)Cookie構(gòu)造會話。 因為這應該在權(quán)限檢查之前發(fā)生,所以最好使用AbstractPreAuthenticatedProcessingFilter

@Component(value="cookieSessionFilter") public class CookieSessionFilter extends AbstractPreAuthenticatedProcessingFilter {...@Overrideprotected Object getPreAuthenticatedPrincipal(HttpServletRequest request) {SecurityContext securityContext = extractSecurityContext(request);if (securityContext.getAuthentication()!=null? && securityContext.getAuthentication().isAuthenticated()){UserAuthentication userAuthentication = (UserAuthentication) securityContext.getAuthentication();UserSession session = (UserSession) userAuthentication.getDetails();SecurityContextHolder.setContext(securityContext);return session;}return new UserSession();}...}

上面的過濾器根據(jù)會話cookie構(gòu)造主體對象。 篩選器還會創(chuàng)建一個PreAuthenticatedAuthenticationToken,稍后將用于身份驗證。 顯然,Spring不會理解該負責人。 因此,我們需要提供自己的AuthenticationProvider,它可以基于此主體來對用戶進行身份驗證。

public class UserAuthenticationProvider implements AuthenticationProvider { @Overridepublic Authentication authenticate(Authentication authentication) throws AuthenticationException {PreAuthenticatedAuthenticationToken token = (PreAuthenticatedAuthenticationToken) authentication;UserSession session = (UserSession)token.getPrincipal();if (session != null && session.getUser() != null){SecurityContext securityContext = SecurityContextHolder.getContext();securityContext.setAuthentication(new UserAuthentication(session));return new UserAuthentication(session);}throw new BadCredentialsException("Unknown user name or password");} }

這是春天的方式。 如果我們設(shè)法提供有效的身份驗證對象,則對用戶進行身份驗證。 實際上,我們讓用戶針對每個單個請求通過會話cookie登錄。

但是,有時我們需要更改用戶會話,并且可以像往常一樣在控制器方法中進行更改。 我們只需覆蓋SecurityContext,它已在過濾器中更早設(shè)置。

還將UserSession存儲到SecurityContextHolder,這有助于設(shè)置環(huán)境。 因為它是預身份驗證過濾器,所以它對大多數(shù)請求(身份驗證除外)都可以很好地工作。

我們應該手動更新身份驗證方法中的SecurityContext:

public ModelAndView login(String login, String password, String siteCode) throws IOException{if(StringUtils.isEmpty(login) || StringUtils.isEmpty(password)){throw new HttpServerErrorException(HttpStatus.BAD_REQUEST, "Missing login and password");}User user = authService.login(siteCode, login, password);if(user!=null){SecurityContext securityContext = SecurityContextHolder.getContext();UserSession userSession = new UserSession();userSession.setSite(user.getSite());userSession.setUser(user);securityContext.setAuthentication(new UserAuthentication(userSession));}else{throw new HttpServerErrorException(HttpStatus.UNAUTHORIZED, "Invalid login or password");}return new ModelAndView(new MappingJackson2JsonView());}

刷新會議

到目前為止,您可能會注意到我們從未提到過編寫cookie。 假設(shè)我們有一個有效的Authentication對象,并且我們的SecurityContext包含UserSession,則需要將此信息發(fā)送到瀏覽器很重要。 在生成HttpServletResponse之前,我們必須將會話cookie附加到它。 具有相同域和路徑的cookie將替換瀏覽器保留的較舊的會話。

如上所述,刷新會話最好在控制器方法之后完成,因為我們在此處實現(xiàn)了身份驗證。 但是,挑戰(zhàn)是由Spring MVC的ViewResolver引起的。 有時,它這么快就寫入OutputStream,以至于將cookie添加到響應中的任何嘗試都是沒有用的。 最后,我們提出了一個折衷方案,該解決方案在用于常規(guī)請求的控制器方法之前和用于身份驗證請求的控制器方法之后刷新會話。 要知道請求是否用于身份驗證,我們在身份驗證方法上放置一個注釋。

@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {if (handler instanceof HandlerMethod){HandlerMethod handlerMethod = (HandlerMethod) handler;SessionUpdate sessionUpdateAnnotation = handlerMethod.getMethod().getAnnotation(SessionUpdate.class);if (sessionUpdateAnnotation == null){SecurityContext context = SecurityContextHolder.getContext();if (context.getAuthentication() instanceof UserAuthentication){UserAuthentication userAuthentication = (UserAuthentication)context.getAuthentication();UserSession session = (UserSession) userAuthentication.getDetails();persistSessionCookie(response, session);}}}return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {if (handler instanceof HandlerMethod){HandlerMethod handlerMethod = (HandlerMethod) handler;SessionUpdate sessionUpdateAnnotation = handlerMethod.getMethod().getAnnotation(SessionUpdate.class);if (sessionUpdateAnnotation != null){SecurityContext context = SecurityContextHolder.getContext();if (context.getAuthentication() instanceof UserAuthentication){UserAuthentication userAuthentication = (UserAuthentication)context.getAuthentication();UserSession session = (UserSession) userAuthentication.getDetails();persistSessionCookie(response, session);}}}}

結(jié)論

該解決方案對我們來說效果很好,但是我們沒有把握這可能是最佳實踐。 但是,它很簡單,并且不需要花費很多精力來實施(包括測試在內(nèi)大約需要3天)。

如果您有更好的想法來與Spring建立無狀態(tài)會話,請?zhí)峁┓答仭?

翻譯自: https://www.javacodegeeks.com/2014/09/stateless-session-for-multi-tenant-application-using-spring-security.html

總結(jié)

以上是生活随笔為你收集整理的使用Spring Security的多租户应用程序的无状态会话的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

japanese黑人亚洲人4k | 国产视频18 | 97在线免费视频 | 亚洲 综合 国产 精品 | 久久国产三级 | 国产毛片aaa| 久久亚洲精品电影 | 亚洲精品国精品久久99热 | 最近中文字幕大全中文字幕免费 | 久久久国产一区 | 国产黄a三级 | 免费国产一区二区 | 久草精品视频在线看网站免费 | 久久午夜视频 | 日日夜夜人人天天 | 成年人国产在线观看 | 中文字幕在线视频一区二区 | 日韩在线播放欧美字幕 | 亚洲精品久久久久久国 | 热久久99这里有精品 | 亚洲精品白浆高清久久久久久 | 中文字幕 91 | 在线免费观看视频一区 | 国产一二三区在线观看 | 久久乐九色婷婷综合色狠狠182 | 久久短视频 | 婷婷5月激情5月 | 亚洲欧美视频在线 | 久久福利国产 | 久久www免费视频 | av免费网站观看 | 天天操天天干天天操天天干 | 九九在线国产视频 | 国产精品久久久久久久婷婷 | 国产成人精品久久二区二区 | 国产麻豆果冻传媒在线观看 | 视频99爱 | 91av在线免费观看 | 西西444www高清大胆 | av高清在线 | 精产嫩模国品一二三区 | 色在线免费| av永久网址 | 精品成人在线 | av电影中文字幕在线观看 | 天天操伊人 | 一区二区三区免费在线播放 | 91看片在线免费观看 | 国产精品乱码久久久 | 四虎永久免费网站 | 在线 日韩 av | 在线观看色视频 | 国产综合激情 | 日韩欧美在线影院 | 黄色片免费电影 | 色妞色视频一区二区三区四区 | 精品伊人久久久 | 亚洲午夜在线视频 | 免费精品久久久 | 三级av小说| 九九九免费视频 | 日韩欧美一区二区三区视频 | 国产999精品久久久久久绿帽 | 亚洲区另类春色综合小说 | 五月天婷婷视频 | 亚洲 欧美变态 另类 综合 | 91九色在线视频观看 | 国产一区在线视频观看 | 视频在线99re | 五月婷婷,六月丁香 | 精品在线一区二区三区 | 超碰97人| 在线天堂v| 国产高清免费在线观看 | 亚洲精品久久久久久久不卡四虎 | 91在线看免费 | 国产亲近乱来精品 | 黄色影院在线播放 | 日韩在线视频免费观看 | 日韩伦理片一区二区三区 | 少妇资源站 | 国产欧美精品一区二区三区四区 | 青青河边草手机免费 | 99色亚洲 | 日韩电影一区二区在线 | 国产精品一区二区三区久久 | 免费色视频网站 | av三区在线 | 在线性视频日韩欧美 | 久久国产欧美日韩精品 | 99久久婷婷国产综合精品 | 国产91精品看黄网站在线观看动漫 | 亚洲一区二区三区在线看 | 黄色一级网 | 97热视频| 一区二区高清在线 | 精品 激情 | 美女亚洲精品 | 亚洲精品久久久蜜桃直播 | 丰满少妇在线观看资源站 | 国产精品11 | 九九久久在线看 | 黄色软件在线观看 | 天天色天天干天天色 | 天堂网在线视频 | 在线观看精品视频 | 亚洲视频免费在线观看 | 18av在线视频 | 免费av影视 | 亚洲欧洲成人精品av97 | 色狠狠一区二区 | 国产午夜三级一区二区三桃花影视 | 天堂av免费 | 91亚洲影院 | 色综合天天狠狠 | 99热在线这里只有精品 | 久艹在线免费观看 | www.五月婷婷.com | 精品在线亚洲视频 | 91传媒在线 | 91精品国产九九九久久久亚洲 | 人人盈棋牌| 蜜臀av网址 | 在线国产99| av一区二区三区在线观看 | 日本中文不卡 | jizz18欧美18| 欧美国产日韩一区二区三区 | 99久久精品日本一区二区免费 | 亚洲专区中文字幕 | 亚洲一区二区三区在线看 | 日韩特级片 | 国产一级在线视频 | 在线观看视频国产一区 | 国产一级电影免费观看 | 超碰97国产精品人人cao | 激情开心网站 | 亚洲天堂色婷婷 | 少妇bbb搡bbbb搡bbbb′ | 日韩国产高清在线 | 精品久久久精品 | 色欲综合视频天天天 | 六月婷婷网 | 狠狠狠色 | 99综合电影在线视频 | 一区二区三区在线观看免费 | av 一区二区三区 | 狠狠操狠狠干天天操 | free,性欧美 九九交易行官网 | 超碰在线免费97 | 国产麻豆精品久久 | 99色视频在线 | 韩国一区二区av | 欧美午夜一区二区福利视频 | 99久久久国产免费 | 亚洲精品在线观 | 色综合久久久久 | 欧美精品久久久久久久久久白贞 | 免费日韩视频 | 天天干天天想 | 九九九热精品 | 欧美日在线观看 | 午夜影院一级 | 欧美男同视频网站 | 在线观看日本高清mv视频 | 国产在线精品一区二区不卡了 | 国产色在线观看 | 欧美日韩免费一区二区三区 | 91资源在线免费观看 | 五月天亚洲激情 | 日韩a在线看 | jizz999| 热久久免费视频精品 | 婷婷色亚洲 | 视频一区二区国产 | 久久久久 免费视频 | 国产美女黄网站免费 | 久久精品美女 | 欧美日本一二三 | 色噜噜日韩精品一区二区三区视频 | 亚洲视频分类 | 精品人人人人 | 最近中文字幕高清字幕在线视频 | 日韩aa视频 | 五月综合婷 | 在线黄色av电影 | 精品欧美一区二区在线观看 | 99久久99视频只有精品 | 日韩在线观看视频中文字幕 | 亚洲日韩欧美视频 | 国产午夜精品一区二区三区四区 | 天天玩天天干 | 亚洲精品福利在线观看 | 99视频久久 | 色婷婷综合久久久 | 一区二区三区在线观看 | 久久这里只有精品9 | 久在线观看| 日韩欧美大片免费观看 | 五月亚洲 | 日韩欧美在线国产 | 亚洲精品mv在线观看 | 天天艹天天爽 | av电影免费在线看 | wwwwwww黄 | 亚州精品视频 | 91av超碰| 久久综合色综合88 | 国产一卡久久电影永久 | 美女网站在线免费观看 | 久热色超碰 | 精品久久久999 | 久99视频 | av黄色一级片 | 99tvdz@gmail.com| 美女激情影院 | 久久99视频免费观看 | 国产精品免费看久久久8精臀av | 一区二区三区在线视频观看58 | 国产精品久久久久久吹潮天美传媒 | 精品国产电影一区二区 | 亚洲精品网页 | 久久8精品 | 中文字幕在线观看完整 | 美女国内精品自产拍在线播放 | 天天综合五月天 | 91精品视频免费看 | 不卡精品视频 | 午夜免费久久看 | 国产精品免费大片视频 | 欧美日韩国产一区 | 成人国产精品一区二区 | 久久婷婷精品视频 | 92国产精品久久久久首页 | 国产精品网在线观看 | 国产成人综合精品 | 国产高清日韩欧美 | 久久69精品| 亚洲艳情 | 欧美一区二区三区免费看 | 国产一区久久久 | 欧美日韩国产成人 | 天天干中文字幕 | 国产精品久久久久久久久久新婚 | 黄色一级网 | 欧美成人按摩 | 一区二区三区精品在线 | 网站免费黄 | 人人看人人草 | 色诱亚洲精品久久久久久 | 国产99久久99热这里精品5 | 亚洲欧美日韩精品一区二区 | 综合天天色| 中文字幕在线看视频国产 | 国产一区福利 | 狠狠操狠狠干天天操 | 91专区在线观看 | 91人人揉日日捏人人看 | 久久午夜鲁丝片 | 日韩高清一区 | 国产精品成人免费精品自在线观看 | 狠狠色丁香久久婷婷综合五月 | 天天射天天射天天 | 少妇bbb搡bbbb搡bbbb | 日本韩国在线不卡 | 久久成人免费 | av在线永久免费观看 | 国产精品亚洲片夜色在线 | 97超碰中文 | 黄p网站在线观看 | 999久久久 | 国产精品com | 亚洲精品国偷拍自产在线观看蜜桃 | 狠狠干狠狠久久 | 亚洲精品视频在线观看网站 | 日韩精品一区二区三区在线视频 | 亚洲天堂视频在线 | 天天干天天操天天操 | 久久国产精品99久久人人澡 | 午夜精品麻豆 | a久久免费视频 | 欧美韩国在线 | 六月激情丁香 | 国产精品麻豆果冻传媒在线播放 | 免费看黄电影 | 久操视频在线 | 欧美日韩免费在线观看视频 | 一区三区视频在线观看 | 欧美性脚交| 久久精品视频观看 | 青青河边草观看完整版高清 | 最近中文字幕免费大全 | 美女视频黄免费的久久 | 丁香花在线视频观看免费 | 伊人色**天天综合婷婷 | 五月婷婷在线视频观看 | 一级黄色网址 | 午夜精品久久久久久99热明星 | 国产精品精品国产色婷婷 | 精品久久久久国产免费第一页 | 一区二区三区免费在线观看 | 久久中文网 | 五月天婷亚洲天综合网精品偷 | 亚洲成人国产精品 | 久久九九影视网 | 在线免费三级 | 天天婷婷| 欧美一级在线观看视频 | 久草在线99 | 国产污视频在线观看 | av888.com | 九九九热精品免费视频观看 | 国产精品久久久毛片 | 婷婷在线免费视频 | 国产精品福利在线 | 黄色官网在线观看 | 久久夜夜操 | 黄色大片免费播放 | 欧美一二三四在线 | 国色天香第二季 | 日本韩国精品在线 | 96精品视频 | 欧美精品乱码99久久影院 | 国产性xxxx | 欧美九九视频 | 五月婷婷久草 | 久草在线视频免赞 | 国产不卡一| 福利一区在线 | 99人成在线观看视频 | 亚洲精品中文字幕在线观看 | 成人黄在线 | 免费观看的黄色 | 99在线观看精品 | 国产免费高清 | 亚洲国内在线 | 国产三级av在线 | 91麻豆免费视频 | 久久老司机精品视频 | 色射色 | 国产伦精品一区二区三区在线 | 精品久久一级片 | 亚洲天堂精品视频 | 久久国产精品免费一区二区三区 | www日日 | 99视频精品免费观看, | 亚洲欧美偷拍另类 | 91精品对白一区国产伦 | av中文字幕在线免费观看 | 91成人免费电影 | 日本精品一区二区三区在线观看 | 成人免费在线视频 | 国产精品资源网 | 免费在线观看成年人视频 | 国产精品久久嫩一区二区免费 | 久久成| 高清一区二区三区 | 国产免费xvideos视频入口 | 久久婷婷开心 | 日韩欧美在线视频一区二区 | 精品亚洲国产视频 | 欧美一区免费观看 | 黄色免费电影网站 | 天天操天天操天天操天天操天天操 | 久久玖| 97在线看片 | 美女视频久久 | 日本在线观看一区 | 亚州av网站 | 国产成人一区二区三区 | 亚洲国产精品999 | 97电影院在线观看 | av解说在线观看 | 色插综合 | 国产精品福利在线 | 久久男人影院 | 精品99久久久久久 | 国产精品扒开做爽爽的视频 | 亚洲专区欧美专区 | 国产亚洲日本 | 日韩中文字幕在线观看 | 精品99免费 | 特及黄色片| 日韩欧美高清视频在线观看 | 亚洲精品mv在线观看 | 视频在线亚洲 | 中国一级特黄毛片大片久久 | 久久久亚洲麻豆日韩精品一区三区 | 99视频网址 | 日本不卡一区二区三区在线观看 | 亚洲精品午夜国产va久久成人 | 精品久久久久久亚洲综合网 | 香蕉精品在线观看 | 欧美一级日韩三级 | 99爱在线| av色一区 | 97视频网址| 国产 成人 久久 | 69精品久久久| 99视频在线看 | 久久久久激情电影 | 国产精品粉嫩 | 成年人免费在线观看网站 | 午夜影视av | 午夜精品一区二区三区视频免费看 | 69久久久久久久 | 一级做a视频 | 黄色一级网 | 国产精品嫩草69影院 | www.777奇米 | 亚洲jizzjizz日本少妇 | 99日韩精品 | 天天插天天干天天操 | 久久五月天婷婷 | 亚洲永久av| 国产九九精品视频 | 欧美一区二区在线免费观看 | 欧美视频日韩视频 | 在线a视频免费观看 | 在线有码中文字幕 | 国产国产人免费人成免费视频 | 一区二区三区四区久久 | 9在线观看免费高清完整版 玖玖爱免费视频 | av片子在线观看 | 国产色婷婷精品综合在线手机播放 | 日韩欧美视频免费观看 | 国产精彩视频一区二区 | 国产中文字幕第一页 | 久久婷婷国产 | 亚洲高清激情 | 中文字幕在线观看视频网站 | 国产一级特黄毛片在线毛片 | 亚洲综合激情小说 | 久久综合射 | 亚洲h色精品 | 国产精品1区2区3区在线观看 | 日韩理论在线观看 | 香蕉视频网址 | 97超碰成人在线 | 久久综合影音 | 天堂麻豆| 国产黄色一级片在线 | 精品特级毛片 | 精品亚洲一区二区三区 | 欧美一区二区三区四区夜夜大片 | 日本电影黄色 | 99午夜| 成人亚洲综合 | 久久久久久欧美二区电影网 | 日本黄色免费观看 | 欧美日韩在线精品一区二区 | 精品久久久久一区二区国产 | 一区二区国产精品 | 日韩女同一区二区三区在线观看 | 六月丁香在线视频 | 美女视频是黄的免费观看 | 久久久久久久毛片 | 中文字幕在线播放一区二区 | 97国产精品亚洲精品 | 亚洲高清在线视频 | 免费看三片 | 欧美色综合天天久久综合精品 | 91九色蝌蚪视频在线 | 日韩一级电影网站 | 成人午夜剧场在线观看 | 97成人超碰 | 国产亚洲精品成人av久久ww | 亚洲成人av影片 | 干综合网 | 国产精品欧美激情在线观看 | 久草国产在线观看 | 国产中文字幕国产 | 高潮久久久久久久久 | 日韩免费在线播放 | 天天干视频在线 | 中文字幕二区三区 | 片网址| 天天操夜操| 天天天天天天操 | 99精品久久久久 | 亚洲精品乱码久久久久久蜜桃91 | 99视频这里只有 | 中文字幕 91 | 国产精品视频全国免费观看 | 国产亚洲精品久久久久久网站 | 国产一区二区免费在线观看 | 久久综合亚洲鲁鲁五月久久 | 中文国产字幕在线观看 | 久久精彩| 又黄又爽又刺激的视频 | 免费三级黄色片 | 黄色三级在线观看 | 99精品国产99久久久久久福利 | 在线视频观看你懂的 | 色999精品 | 欧美另类重口 | 麻豆视频免费网站 | 丁香综合激情 | 亚洲欧洲成人 | 99国产一区二区三精品乱码 | 狠狠干网址| 日韩欧美在线综合网 | 日本在线观看黄色 | 亚洲另类视频在线观看 | 欧美综合久久 | a天堂一码二码专区 | 伊人夜夜 | 又爽又黄在线观看 | 国产香蕉97碰碰碰视频在线观看 | 日日操日日| 欧美老人xxxx18| 在线免费观看黄色小说 | 91视频啊啊啊 | 国产精品成人av在线 | 国产在线看一区 | 日本韩国精品一区二区在线观看 | 成人av在线一区二区 | 亚洲国产精品传媒在线观看 | 在线免费观看一区二区三区 | 久久dvd | 99精品视频一区二区 | 99热999| 波多在线视频 | 黄色毛片视频免费观看中文 | 最新久久久 | 伊人五月| 探花视频在线观看+在线播放 | 91免费观看网站 | 久久人人爽爽人人爽人人片av | 毛片网免费 | 久久精美视频 | 在线观看av大片 | 91你懂的 | 性色av香蕉一区二区 | 99re6热在线精品视频 | 色综合天天干 | 精品二区久久 | 精品国产精品久久一区免费式 | 国产成人精品一区二区三区在线 | 久久精品之 | 成人av播放 | 欧美一二三在线 | 国产女人18毛片水真多18精品 | 四虎成人精品永久免费av九九 | 玖玖爱国产在线 | 69精品视频 | 又大又硬又黄又爽视频在线观看 | 91成人免费 | 免费瑟瑟网站 | 最新国产一区二区三区 | 麻豆一区在线观看 | 天天曰视频 | 天天激情综合 | 国产美女精品 | 天天干天天操 | 夜添久久精品亚洲国产精品 | 精品国偷自产国产一区 | av亚洲产国偷v产偷v自拍小说 | 美女黄频在线观看 | 在线视频 一区二区 | 日韩免费一区二区 | 天天干天天拍天天操 | 黄p在线播放 | 久久超碰免费 | 日韩在线观看第一页 | 狠狠色丁香久久综合网 | 亚洲午夜精品一区二区三区电影院 | 天天草天天摸 | 亚洲干视频在线观看 | av在线免费观看黄 | 精品国产一二三四区 | 久草精品视频在线观看 | 91精品视频免费看 | 青青草久草在线 | 国产精品自产拍在线观看桃花 | 国产精品久久久久久久久大全 | 麻豆视频网址 | 国产淫片 | 91av短视频 | 成人免费xyz网站 | 成人精品亚洲 | 国产最新精品视频 | 91豆花在线 | 午夜av免费观看 | 99久久精品国产亚洲 | 日韩二区在线 | 欧美日韩视频一区二区三区 | 国产中文字幕视频在线观看 | 免费网站看v片在线a | 黄色在线看网站 | 成人在线免费av | 99久久久久久国产精品 | www.大网伊人| 欧美大片在线观看一区 | 免费亚洲片 | 四虎永久网站 | 色婷婷视频在线观看 | 日本精品久久久久 | 婷婷六月天天 | 青青草视频精品 | 精品国产一区二区三区不卡 | 欧美一级专区免费大片 | 亚洲国产激情 | 国产精品久久久久高潮 | 91九色在线视频观看 | 免费在线激情电影 | 中文在线字幕免费观看 | 亚洲国产三级在线 | 麻豆成人精品视频 | 国产丝袜一区二区三区 | 69中文字幕 | 色视频网站免费观看 | 国模视频一区二区 | 日韩超碰 | 午夜美女福利直播 | 天天干天天操天天操 | 久久69精品久久久久久久电影好 | 99精彩视频在线观看免费 | 人人干天天射 | 国产一级电影 | 欧美伦理一区二区 | 精品天堂av | 婷婷日日| 国产精品久久久久久久午夜片 | 亚洲综合激情网 | 日韩av片在线 | 中文字幕超清在线免费 | 天天操天天吃 | 天天综合精品 | 亚洲伊人成综合网 | 亚洲日韩精品欧美一区二区 | 美女视频是黄的免费观看 | 97视频在线| www.色婷婷 | 久久在线视频精品 | 久久久精品国产免费观看一区二区 | 精品视频999 | 亚洲精品视频一二三 | 国产一区二区三区久久久 | 人人干,人人爽 | 西西444www大胆高清视频 | 探花视频在线版播放免费观看 | 黄色大全视频 | 日日躁夜夜躁aaaaxxxx | av一级免费 | 伊人中文在线 | 99免费看片| 99热这里是精品 | 久久激情视频免费观看 | 国产高清专区 | 91视频在线自拍 | 久久久亚洲影院 | 免费在线激情电影 | 久久久久国产成人免费精品免费 | 亚洲乱码一区 | 日本最大色倩网站www | av一级片在线观看 | 国产亚洲欧美在线视频 | 丁香六月婷 | 国产精品精品国产色婷婷 | 在线天堂8√ | 高清av中文在线字幕观看1 | 久草在线观看资源 | 天天曰夜夜操 | 成人a免费 | 91视频免费看片 | 天天干夜夜操视频 | 天堂麻豆 | 国产在线看 | 亚洲一级特黄 | 精品视频久久久久久 | 国产精品久久精品 | 美女啪啪图片 | 亚洲激情综合 | 亚洲国产中文在线 | 亚洲精品视频免费在线观看 | 网站在线观看日韩 | 人人超碰免费 | 欧美国产视频在线 | 午夜av一区二区三区 | 天天摸天天操天天舔 | 亚洲影院色 | 97视频免费看 | 狠狠色综合网站久久久久久久 | 日韩av在线免费看 | 亚洲国产999 | 97超碰在线资源 | 91在线精品秘密一区二区 | 久久激情视频 久久 | 亚洲精品看片 | 国产v在线 | 国内成人综合 | a级黄色片视频 | 久久激情视频网 | 免费在线黄色av | 国产资源精品 | av一区二区三区在线观看 | 国产最新精品视频 | 国产高潮久久 | 国产成人av在线 | 激情综合一区 | 国产系列精品av | 天天干天天拍 | 欧美一区二区精品在线 | 国产精品久久久久久久久免费 | 五月天亚洲综合小说网 | 精品99久久久久久 | 免费国产在线视频 | 美女久久久久久久久久 | 久久情侣偷拍 | 99在线精品视频 | 国产成人一区在线 | 国产三级精品三级在线观看 | 成人午夜在线观看 | 免费av大片 | 摸bbb搡bbb搡bbbb | 欧美一级性生活 | 国产日韩欧美在线观看 | 在线观看日本高清mv视频 | 成人久久精品 | 久久国产精品久久精品国产演员表 | 色网站免费在线看 | 97色涩| 欧美综合久久 | 欧美国产不卡 | 最新超碰在线 | 精品国产成人 | www.五月天| 亚洲国产日本 | 99久久99久国产黄毛片 | 麻豆免费在线视频 | 精品福利网站 | 久久爱www. | av黄色av | 国产高清精品在线观看 | 51久久成人国产精品麻豆 | 9999在线观看 | 在线黄网站 | 麻豆 free xxxx movies hd | 婷婷干五月 | 久久这里只有精品9 | 天天综合成人网 | 国产精品久久久久免费观看 | 国产经典av | 亚洲精品久久久蜜臀下载官网 | 国产福利精品一区二区 | 天天艹 | 国产成人精品一区二区三区在线观看 | 久久狠狠亚洲综合 | 久草综合在线 | 国产精品激情偷乱一区二区∴ | 五月婷婷丁香 | 免费在线成人av电影 | 成人理论电影 | 人人爽人人做 | 狠狠干夜夜操天天爽 | 中文字幕电影高清在线观看 | 中文字幕4| 成人一区在线观看 | 日日夜夜天天操 | 久草视频在线免费 | 精品久久电影 | 婷婷综合av| 91精品老司机久久一区啪 | 午夜在线免费观看视频 | www.夜夜| 久久久国产影院 | 天天综合天天做天天综合 | 免费av一级电影 | 日韩国产欧美在线视频 | 91香蕉嫩草 | 亚洲免费av观看 | 久久久精品免费看 | 国产精品乱码久久久 | 亚洲国产免费看 | 在线激情小视频 | 91桃色免费视频 | 婷婷五月色综合 | av午夜电影 | 激情网五月婷婷 | 99视频在线看 | 在线观看成人毛片 | 亚洲免费不卡 | 日韩色爱 | 国产成人精品免高潮在线观看 | 高清国产在线一区 | 国产精品正在播放 | 欧美日韩精品免费观看视频 | 欧美日韩在线视频一区二区 | 国产在线播放观看 | 亚洲国产小视频在线观看 | www色综合 | 中文字幕一区二区三区乱码在线 | 色欲综合视频天天天 | 国产成人一区二区精品非洲 | 美女久久久久 | 日本午夜免费福利视频 | 中文在线www | 国产视频 亚洲视频 | 91精品视频在线播放 | 久草视频免费在线播放 | 色婷五月| 日韩午夜在线 | 99久久影院| 国产高清av | 天天舔天天搞 | 日韩av在线一区二区 | 色网站在线免费观看 | 99精品视频在线观看 | 最新国产精品视频 | 51久久夜色精品国产麻豆 | 五月天婷婷在线观看视频 | 欧美色综合天天久久综合精品 | 麻豆精品传媒视频 | 96国产精品视频 | av夜夜操| 91视频啊啊啊 | 亚洲高清在线精品 | 国产亚洲精品中文字幕 | 特片网久久 | 国产在线小视频 | 天天做日日做天天爽视频免费 | 国产精久久久久久妇女av | av免费观看高清 | 欧美另类tv | 人人爽人人干 | 中文字幕一二 | 亚洲爱爱视频 | www.888.av | 国产成人精品av在线观 | 欧美日本不卡高清 | 在线观看视频你懂的 | 久久久综合色 | 成人精品一区二区三区电影免费 | 色在线国产 | 国产一级性生活视频 | 国产精品黄网站在线观看 | 成人国产精品 | 亚洲第一伊人 | 天天在线免费视频 | 新av在线| 成年人视频在线免费观看 | 一区二区精品在线 | 91成人在线视频观看 | 成人va视频 | 欧美日韩性视频 | 国产亚洲aⅴaaaaaa毛片 | 日韩免费一级a毛片在线播放一级 | 成年人视频在线免费播放 | 久久久免费精品国产一区二区 | 插婷婷| 久久黄色片子 | 久久精品免费看 | 国产精品v欧美精品 | 日韩欧美国产视频 | 久久国产精品一区二区三区四区 | 美女黄频在线观看 | 亚洲精品玖玖玖av在线看 | 444av| 午夜美女网站 | 成年人视频在线 | 久久亚洲国产精品 | 精品婷婷| 九九免费观看全部免费视频 | 91精品综合在线观看 | 国产视频一 | 国产免费观看久久黄 | 亚洲免费观看视频 | 99视频导航 | 色综合久久悠悠 | 久久久久欠精品国产毛片国产毛生 | 91精品视频在线播放 | 亚洲va在线va天堂va偷拍 | 999久久久免费精品国产 | 日韩 精品 一区 国产 麻豆 | 亚洲午夜久久久久久久久电影网 | 国产精品成人国产乱一区 | 成人啪啪18免费游戏链接 | 日本乱码在线 | 狠狠狠色 | 麻豆av电影 | 国内精品久久久久国产 | 久久综合色综合88 | 香蕉在线视频播放网站 | 久草视频一区 | 国产黄色成人av | 日本色小说视频 | 三级a视频 | 激情五月婷婷综合网 | 中文字幕文字幕一区二区 | 99自拍视频在线观看 | 久草com | 中文字幕在线观看网 | 人人操日日干 | 激情在线网址 | 久草在线免费新视频 | 国产精品午夜久久久久久99热 | 在线久草视频 | 成人国产在线 | 亚洲婷婷伊人 | 麻豆一区在线观看 | 久久久精品综合 | av久久在线 | 香蕉视频久久久 | 国产精品中文字幕在线 | 国产视频一区二区在线播放 | 日韩av男人的天堂 | 国内丰满少妇猛烈精品播放 | 91在线观看视频 | 天天干天天操天天拍 | 久久久久国产成人精品亚洲午夜 | 在线亚州 | 久久综合之合合综合久久 | 国产午夜影院 | 婷婷久久一区二区三区 | a'aaa级片在线观看 | 人人狠狠综合久久亚洲婷 | 天天操天天怕 | 国产一级片一区二区三区 | 日日躁夜夜躁aaaaxxxx | 日韩高清久久 | 久久久在线| 国产精品视频app | 日本一区二区三区视频在线播放 | 亚洲一区二区三区在线看 | 久久综合视频网 | 深夜视频久久 | 日韩高清在线一区二区 | 在线99视频 | 六月丁香激情综合 | 午夜精品久久久久久久久久久久久久 | 免费在线观看成人小视频 | 三级黄色免费片 | 久久久久久久久电影 | 日日碰狠狠添天天爽超碰97久久 | 91毛片视频 | 婷婷av综合 | 正在播放国产一区 | 亚洲婷婷在线视频 | 免费观看一级视频 | 99这里只有久久精品视频 | 亚洲经典在线 | 亚洲国产电影在线观看 | 中文在线字幕免费观 | 日韩大片在线免费观看 | 国产91精品一区二区绿帽 | 粉嫩一区二区三区粉嫩91 | 久久久久久久久久电影 | 999热视频| av天天干| 天天色天天| 久久久久亚洲精品 | 91| www色av| 久久久受www免费人成 | 午夜天使| 在线视频精品播放 | 国产精品久久久99 | 久久久久国产精品免费网站 | 在线免费中文字幕 | 黄色大片日本 | 91福利区一区二区三区 | 最新中文字幕在线播放 | 欧美一区二区在线 | 国产一级二级三级视频 | 国内精品久久久久久久久久 | 欧美国产不卡 | www蜜桃视频 | 一二区电影 | 国产亚洲婷婷免费 | 国产成人精品日本亚洲999 | 中文字幕日韩伦理 | 国产在线a不卡 | 69久久99精品久久久久婷婷 | 成人网444ppp | 国产直播av | 中文字幕黄色网址 | 91福利视频网站 | 在线亚洲人成电影网站色www | 国内99视频 | 免费av在线播放 | 三级视频日韩 | 成人一区二区三区中文字幕 | 成人在线观看免费 | 亚洲最新视频在线播放 | 亚洲国产成人精品电影在线观看 | 美女啪啪图片 | 亚洲97在线 | aaa日本高清在线播放免费观看 | 免费精品国产 | 亚州视频在线 | 亚洲欧洲精品视频 | 亚洲国产影院av久久久久 | 成人aaa毛片 | 能在线观看的日韩av | 日本成人免费在线观看 | 2019免费中文字幕 | 91亚洲精|