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

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

Spring Security 自動踢掉前一個登錄用戶的實現代碼

瀏覽:125日期:2023-09-06 17:19:04

登錄成功后,自動踢掉前一個登錄用戶,松哥第一次見到這個功能,就是在扣扣里邊見到的,當時覺得挺好玩的。

自己做開發后,也遇到過一模一樣的需求,正好最近的 Spring Security 系列正在連載,就結合 Spring Security 來和大家聊一聊這個功能如何實現。

本文是本系列的第十三篇,閱讀前面文章有助于更好的理解本文:

挖一個大坑,Spring Security 開搞! 松哥手把手帶你入門 Spring Security,別再問密碼怎么解密了 手把手教你定制 Spring Security 中的表單登錄 Spring Security 做前后端分離,咱就別做頁面跳轉了!統統 JSON 交互 Spring Security 中的授權操作原來這么簡單 Spring Security 如何將用戶數據存入數據庫? Spring Security+Spring Data Jpa 強強聯手,安全管理只有更簡單! Spring Boot + Spring Security 實現自動登錄功能 Spring Boot 自動登錄,安全風險要怎么控制? 在微服務項目中,Spring Security 比 Shiro 強在哪? SpringSecurity 自定義認證邏輯的兩種方式(高級玩法) Spring Security 中如何快速查看登錄用戶 IP 地址等信息?

1.需求分析

在同一個系統中,我們可能只允許一個用戶在一個終端上登錄,一般來說這可能是出于安全方面的考慮,但是也有一些情況是出于業務上的考慮,松哥之前遇到的需求就是業務原因要求一個用戶只能在一個設備上登錄。

要實現一個用戶不可以同時在兩臺設備上登錄,我們有兩種思路:

后來的登錄自動踢掉前面的登錄,就像大家在扣扣中看到的效果。 如果用戶已經登錄,則不允許后來者登錄。

這種思路都能實現這個功能,具體使用哪一個,還要看我們具體的需求。

在 Spring Security 中,這兩種都很好實現,一個配置就可以搞定。

2.具體實現

2.1 踢掉已經登錄用戶

想要用新的登錄踢掉舊的登錄,我們只需要將最大會話數設置為 1 即可,配置如下:

@Overrideprotected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().authenticated() .and() .formLogin() .loginPage('/login.html') .permitAll() .and() .csrf().disable() .sessionManagement() .maximumSessions(1);}

maximumSessions 表示配置最大會話數為 1,這樣后面的登錄就會自動踢掉前面的登錄。這里其他的配置都是我們前面文章講過的,我就不再重復介紹,文末可以下載案例完整代碼。

配置完成后,分別用 Chrome 和 Firefox 兩個瀏覽器進行測試(或者使用 Chrome 中的多用戶功能)。

Chrome 上登錄成功后,訪問 /hello 接口。 Firefox 上登錄成功后,訪問 /hello 接口。 在 Chrome 上再次訪問 /hello 接口,此時會看到如下提示:

This session has been expired (possibly due to multiple concurrent logins being attempted as the same user).

可以看到,這里說這個 session 已經過期,原因則是由于使用同一個用戶進行并發登錄。

2.2 禁止新的登錄

如果相同的用戶已經登錄了,你不想踢掉他,而是想禁止新的登錄操作,那也好辦,配置方式如下:

@Overrideprotected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequest().authenticated() .and() .formLogin() .loginPage('/login.html') .permitAll() .and() .csrf().disable() .sessionManagement() .maximumSessions(1) .maxSessionsPreventsLogin(true);}

添加 maxSessionsPreventsLogin 配置即可。此時一個瀏覽器登錄成功后,另外一個瀏覽器就登錄不了了。

是不是很簡單?

不過還沒完,我們還需要再提供一個 Bean:

@BeanHttpSessionEventPublisher httpSessionEventPublisher() { return new HttpSessionEventPublisher();}

為什么要加這個 Bean 呢?因為在 Spring Security 中,它是通過監聽 session 的銷毀事件,來及時的清理 session 的記錄。用戶從不同的瀏覽器登錄后,都會有對應的 session,當用戶注銷登錄之后,session 就會失效,但是默認的失效是通過調用 StandardSession#invalidate 方法來實現的,這一個失效事件無法被 Spring 容器感知到,進而導致當用戶注銷登錄之后,Spring Security 沒有及時清理會話信息表,以為用戶還在線,進而導致用戶無法重新登錄進來(小伙伴們可以自行嘗試不添加上面的 Bean,然后讓用戶注銷登錄之后再重新登錄)。

為了解決這一問題,我們提供一個 HttpSessionEventPublisher ,這個類實現了 HttpSessionListener 接口,在該 Bean 中,可以將 session 創建以及銷毀的事件及時感知到,并且調用 Spring 中的事件機制將相關的創建和銷毀事件發布出去,進而被 Spring Security 感知到,該類部分源碼如下:

public void sessionCreated(HttpSessionEvent event) {HttpSessionCreatedEvent e = new HttpSessionCreatedEvent(event.getSession());getContext(event.getSession().getServletContext()).publishEvent(e);}public void sessionDestroyed(HttpSessionEvent event) {HttpSessionDestroyedEvent e = new HttpSessionDestroyedEvent(event.getSession());getContext(event.getSession().getServletContext()).publishEvent(e);}

OK,雖然多了一個配置,但是依然很簡單!

3.實現原理

上面這個功能,在 Spring Security 中是怎么實現的呢?我們來稍微分析一下源碼。

首先我們知道,在用戶登錄的過程中,會經過 UsernamePasswordAuthenticationFilter(參考: Spring Security 登錄流程),而 UsernamePasswordAuthenticationFilter 中過濾方法的調用是在 AbstractAuthenticationProcessingFilter 中觸發的,我們來看下 AbstractAuthenticationProcessingFilter#doFilter 方法的調用:

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) res;if (!requiresAuthentication(request, response)) {chain.doFilter(request, response);return;}Authentication authResult;try {authResult = attemptAuthentication(request, response);if (authResult == null) {return;}sessionStrategy.onAuthentication(authResult, request, response);}catch (InternalAuthenticationServiceException failed) {unsuccessfulAuthentication(request, response, failed);return;}catch (AuthenticationException failed) {unsuccessfulAuthentication(request, response, failed);return;}// Authentication successif (continueChainBeforeSuccessfulAuthentication) {chain.doFilter(request, response);}successfulAuthentication(request, response, chain, authResult);

在這段代碼中,我們可以看到,調用 attemptAuthentication 方法走完認證流程之后,回來之后,接下來就是調用 sessionStrategy.onAuthentication 方法,這個方法就是用來處理 session 的并發問題的。具體在:

public class ConcurrentSessionControlAuthenticationStrategy implementsMessageSourceAware, SessionAuthenticationStrategy {public void onAuthentication(Authentication authentication,HttpServletRequest request, HttpServletResponse response) {final List<SessionInformation> sessions = sessionRegistry.getAllSessions(authentication.getPrincipal(), false);int sessionCount = sessions.size();int allowedSessions = getMaximumSessionsForThisUser(authentication);if (sessionCount < allowedSessions) {// They haven’t got too many login sessions running at presentreturn;}if (allowedSessions == -1) {// We permit unlimited loginsreturn;}if (sessionCount == allowedSessions) {HttpSession session = request.getSession(false);if (session != null) {// Only permit it though if this request is associated with one of the// already registered sessionsfor (SessionInformation si : sessions) {if (si.getSessionId().equals(session.getId())) {return;}}}// If the session is null, a new one will be created by the parent class,// exceeding the allowed number}allowableSessionsExceeded(sessions, allowedSessions, sessionRegistry);}protected void allowableSessionsExceeded(List<SessionInformation> sessions,int allowableSessions, SessionRegistry registry)throws SessionAuthenticationException {if (exceptionIfMaximumExceeded || (sessions == null)) {throw new SessionAuthenticationException(messages.getMessage('ConcurrentSessionControlAuthenticationStrategy.exceededAllowed',new Object[] {allowableSessions},'Maximum sessions of {0} for this principal exceeded'));}// Determine least recently used sessions, and mark them for invalidationsessions.sort(Comparator.comparing(SessionInformation::getLastRequest));int maximumSessionsExceededBy = sessions.size() - allowableSessions + 1;List<SessionInformation> sessionsToBeExpired = sessions.subList(0, maximumSessionsExceededBy);for (SessionInformation session: sessionsToBeExpired) {session.expireNow();}}}

這段核心代碼我來給大家稍微解釋下:

首先調用 sessionRegistry.getAllSessions 方法獲取當前用戶的所有 session,該方法在調用時,傳遞兩個參數,一個是當前用戶的 authentication,另一個參數 false 表示不包含已經過期的 session(在用戶登錄成功后,會將用戶的 sessionid 存起來,其中 key 是用戶的主體(principal),value 則是該主題對應的 sessionid 組成的一個集合)。 接下來計算出當前用戶已經有幾個有效 session 了,同時獲取允許的 session 并發數。 如果當前 session 數(sessionCount)小于 session 并發數(allowedSessions),則不做任何處理;如果 allowedSessions 的值為 -1,表示對 session 數量不做任何限制。 如果當前 session 數(sessionCount)等于 session 并發數(allowedSessions),那就先看看當前 session 是否不為 null,并且已經存在于 sessions 中了,如果已經存在了,那都是自家人,不做任何處理;如果當前 session 為 null,那么意味著將有一個新的 session 被創建出來,屆時當前 session 數(sessionCount)就會超過 session 并發數(allowedSessions)。 如果前面的代碼中都沒能 return 掉,那么將進入策略判斷方法 allowableSessionsExceeded 中。 allowableSessionsExceeded 方法中,首先會有 exceptionIfMaximumExceeded 屬性,這就是我們在 SecurityConfig 中配置的 maxSessionsPreventsLogin 的值,默認為 false,如果為 true,就直接拋出異常,那么這次登錄就失敗了(對應 2.2 小節的效果),如果為 false,則對 sessions 按照請求時間進行排序,然后再使多余的 session 過期即可(對應 2.1 小節的效果)。

4.小結

如此,兩行簡單的配置就實現了 Spring Security 中 session 的并發管理。是不是很簡單?不過這里還有一個小小的坑,松哥將在下篇文章中繼續和大家分析。

本文案例大家可以從 GitHub 上下載:https://github.com/lenve/spring-security-samples

到此這篇關于Spring Security 自動踢掉前一個登錄用戶的實現代碼的文章就介紹到這了,更多相關Spring Security 踢掉登錄用戶內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 成人性视频免费网站 | 51ⅴ精品国产91久久久久久 | 国产1区2区精品 | 精品成人免费一区二区在线播放 | 日本不卡精品 | 国产一区在线免费 | 鲁管视频 | 国产精品久久国产精品 | 久久av网| 欧美一级在线观看 | 高清av网站 | 色婷婷综合久久久中文字幕 | 麻豆国产露脸在线观看 | 日韩高清一区二区 | 深夜福利1000 | 天天碰天天操 | 国产成人精品一区二区 | 日韩高清中文字幕 | 日韩欧美二区 | 国产精品福利一区 | 亚洲一区中文字幕在线观看 | 欧美大片在线看免费观看 | 精品久久一区二区三区 | 亚洲国内精品 | 国产精品自产av一区二区三区 | 日本欧美一区二区 | 亚洲成人精品区 | 久久久www成人免费精品 | 不用播放器的av | 成人免费视频观看视频 | 成人精品一区二区 | 国产探花在线精品一区二区 | 亚洲成人三级 | 中文字幕视频在线 | 亚洲一区二区三区免费观看 | 色婷婷综合久久久中文字幕 | a级性生活 | 日本理论片好看理论片 | 国产精品国产三级国产aⅴ入口 | 国产在线a | 国产欧美精品在线 | 欧美一区二区 | 国产一区二区三区四区在线观看 | 国产高清一区二区三区 | 国产成人在线网站 | 亚洲h视频| www亚洲一区 | 亚洲精品一区国产精品 | 中文字幕在线一区二区三区 | 美女久久久 | 波多野结衣一二三区 | 三区视频 | 中文字幕亚洲欧美 | 亚洲国产免费看 | 中文字幕91视频 | 精品1区 | 免费观看一区二区三区毛片软件 | 成人在线免费观看 | 欧美xxxx做受欧美 | 国产视频久久久久 | 国产中文在线 | 亚洲综合二区 | 成年人在线视频播放 | 日韩欧美在线视频免费观看 | 精品日韩一区二区 | 国产免费视频 | 性欧美大战久久久久久久免费观看 | 女人久久久久久久 | 欧美一区二区三区国产精品 | 亚洲高清一区二区三区 | 久久久av亚洲男天堂 | 日本久久影视 | 日韩中文在线 | 国产另类一区 | 亚洲伊人久久综合 | 久久精品小视频 | 日韩三级视频 | 97精品国产 | 亚洲毛片网站 | 99视频在线播放 | 精品久久久久久久久久久久久 | 高清一区二区 | 国产精品一区二区不卡 | 国产欧美一区二区精品忘忧草 | 一区二区三区国产 | 高清精品一区二区 | 国产九色视频 | xx视频在线观看 | 亚洲精品福利在线 | 亚洲美女视频一区二区三区 | 在线无码 | 国产精品国产精品国产专区不蜜 | 黄色小视频免费观看 | 国产一区二区三区视频 | 日韩精品一区二区三区在线播放 | 国产乱码精品一区二区三区忘忧草 | 亚洲一二三 | 亚洲日韩欧美一区二区在线 | 成人精品电影 | 在线观看91 | 欧美三级网址 | 国产日产精品一区二区三区四区 | 午夜电影网址 | 欧美成人影院在线 | 国产二区在线播放 | 精品久久久久久国产 | 91精品国产91久久久久久吃药 | 殴美一区| 久久国产一区二区三区 | 欧美激情精品久久久久久 | 成人1区| 色婷婷综合久久久中文字幕 | 国产免费av在线 | av电影手机版 | 国产精品亚洲综合 | 欧美黑人巨大xxx极品 | 亚洲一区二区中文字幕 | 一级毛片大全免费播放 | 中文字幕亚洲一区二区三区 | 日韩在线免费观看视频 | 久久精品一二三四 | 日韩视频免费在线播放 | 久久久亚洲 | 日本在线一区 | 成人精品三级av在线看 | 在线欧美一区 | 亚洲97色 | av国产精品毛片一区二区小说 | 美女一级 | 99精品国产高清一区二区麻豆 | 亚洲一区中文字幕 | 中文字幕精品一区久久久久 | 中文字幕在线观看亚洲 | 成人在线视频网站 | 操人网站 | 嫩草精品 | 国产三级精品三级 | 久久精品国产一区二区三区不卡 | 涩涩视频在线看 | 91视频免费观看网址 | 午夜精品影院 | 久久九九国产精品 | 黄网站色大毛片 | 91亚洲国产成人久久精品网站 | 成人福利网 | 日韩视频精品 | 成人免费视频网站在线观看 | 欧美一区二区三区免费在线观看 | 一区二区三区四区视频 | 国产在线第一页 | 国产精品91网站 | 精品国产一区二区三区在线观看 | 久久综合九色综合欧美狠狠 | 欧美精品一区二区三区在线播放 | av片网站 | 亚洲一区二区三区视频 | 精品九九久久 | 精品99免费 | 国产精品视频网站 | 亚洲理论电影在线观看 | 国产精品极品美女在线观看免费 | 日韩激情一区二区三区 | 亚洲男人的天堂在线观看 | 一区二区三区视频在线观看 | 日韩中文在线播放 | 欧美日韩国产一区二区 | 国产精品久久久久aaaa九色 | 日韩精品观看 | 日韩一区二区三区在线观看 | 日本不卡免费新一二三区 | 国产在线第一页 | 日韩一区二区三区在线 | 在线久草| 日韩久久久久 | 亚洲综合欧美日韩 | 黄色毛片在线观看 | 国产 日韩 一区 | 亚洲高清在线观看 | 日韩精品在线观看免费 | 久久精品网| 日本精品久久 | www.99re| 精品免费国产一区二区三区 | 日韩欧美中字 | 亚洲福利片 | 黄色一级电影免费观看 | 国产精品一区二区三区在线播放 | 成人免费视频 | 国产馆一区二区 | 日韩精品在线观看视频 | 精品美女在线观看视频在线观看 | 亚洲成人第一区 | 国产欧美日本 | 久久国产精品99久久久久久牛牛 | 国产一区在线免费观看 | 欧美一区二区三区精品 | www.成人在线视频 | 日韩精品成人 | 海外中文字幕在线观看 | 日韩欧美一区二区三区免费观看 | 久久精品国产一区二区电影 | 欧美日韩国产一区二区三区不卡 | 成人精品| 国产精品免费观看 | 国产超碰人人爽人人做人人爱 | 久久不射电影网 | 91香蕉视频在线观看 | 久久久久国产精品免费免费搜索 | 欧美日韩精品一区二区三区在线观看 | 国产馆一区二区 | 成人午夜在线视频 | jizz在线观看| 国产乱码精品一区二区三区忘忧草 | 欧美激情自拍偷拍 | 亚洲国产精品久久久久久 | 亚洲一区二区三区在线 | 婷婷av网站 | 欧美第8页| 欧美高清成人 | 在线观看一级片 | 欧美黑人狂躁日本寡妇 | 91视频在线播放视频 | 日本一区二区成人 | 亚洲成av人片一区二区三区 | 国产黄色播放 | 日日天天 | 欧美99| 成年人黄色一级片 | 国产乱码精品1区2区3区 | 久久久久久久久久国产 | 欧美激情视频一区二区三区在线播放 | 中文字幕精品三级久久久 | 亚洲毛片 | 超碰最新网址 | av毛片| 成人亚洲精品 | 亚洲精品一区二区三区99 | 麻豆一区一区三区四区 | 久久视频精品 | 国产九九九| 欧美一性一交 | 中文字幕亚洲一区二区va在线 | 五月激情综合婷婷 | 久久九九精品视频 | 比利时xxxx性hd极品 | 亚洲精品久久久久avwww潮水 | 81精品国产乱码久久久久久 | 亚洲精品久久久久久下一站 | 欧美午夜一区二区三区免费大片 | 久久久一区二区三区 | 亚洲成人福利 | 久久久亚洲精 | 99视频在线免费观看 | 1区在线 | 国产ts人妖另类 | 亚洲高清视频在线观看 | 成人国产在线 | 精品久久一区二区 | 免费日韩精品 | 久久中文字幕视频 | 日日爱夜夜操 | 国产亚洲欧美一区 | 日韩精品一区二区三区中文在线 | 精品日韩av | 欧美精品免费在线观看 | 亚洲综合网站 | 三级无遮挡污在线观看 | 欧美成人精品在线视频 | 欧美日韩一区二区视频在线观看 | 亚洲精品在线播放视频 | 婷婷毛片 | 国产在线一级片 | 中文字幕在线观看精品视频 | 久久手机免费视频 | 视频一区二区三区中文字幕 | 亚洲精品久久久一区二区三区 | 日韩精品一区在线 | 久久久99久久久国产自输拍 | 欧美成人精品在线视频 | 精品一区二区三区免费 | 欧美日韩精品一区二区三区四区 | 综合久久网 | 天天爽天天草 | 亚洲人在线 | 成人在线小视频 | 91精品国产777在线观看 | 一级视频网站 | 免费三级电影网站 | 久久久久久久久久久亚洲 | 欧美黄色网络 | av黄色在线观看 | 欧美一区二 | 欧美一级片免费在线观看 | 国产老头老太作爱视频 | 岛国a视频| 99re国产 | 中文字幕av第一页 | av超碰| 羞羞的视频在线 | 伊人二区| 国产福利视频 | 中文字幕av网 | 日韩免费片| 午夜精品久久久久久久久久久久 | 欧美与黑人午夜性猛交久久久 | 国产福利在线视频 | 国产91对白叫床清晰播放 | 日韩三级网| av免费观看网站 | 亚洲人成人一区二区在线观看 | 精品久久久久国产免费 | 福利亚洲 | 欧美一区二区三区免费视频 | 欧美一区二区免费 | 美女福利网站 | 久久99精品久久久久久久青青日本 | 国产日韩视频在线播放 | 日韩三级电影免费观看 | 在线国产91| 国产一区二区三区高清 | 草樱av| 国产精品亚洲一区 | 天天精品在线 | 中文成人无字幕乱码精品 | 精品久久久久久亚洲精品 | 国产激情午夜 | 日本一区二区三区四区不卡视频 | 国内精品国产三级国产在线专 | 久久久夜夜夜 | 亚洲电影一区二区 | 成人在线视频免费观看 | 一区二区三区免费 | 播放一区 | 在线观看第一页 | 99视频精品在线 | av在线一区二区 | 国精产品99永久一区一区 | 久久久久91 | 99久久久久久 | 91在线免费看 | 中文字幕在线网址 | 久久免费精品视频 | 国产一二三区在线观看 | 黄版视频在线观看 | 中国一级大黄大黄大色毛片 | 日韩三及片 | 亚洲精品欧美精品 | 亚洲国产精品一区二区久久 | 一区二区三区视频免费看 | 一级在线观看 | 日本三级中国三级99人妇网站 | 一区二区中文字幕 | 91最新网站 | 一级黄色录像免费观看 | 天天爱爱网 | 欧美a级成人淫片免费看 | 午夜资源| 天天综合视频 | 98精品国产高清在线xxxx天堂 | 理论黄色片 | 精品免费一区二区 | 亚洲免费视频网 | 91嫩草在线 | 狠狠躁夜夜躁人人爽天天天天97 | 国产高潮好爽受不了了夜色 | 国产成在线观看免费视频 | 97精品超碰一区二区三区 | www97影院| 夜夜操操操 | 精品视频在线观看 | 国产成人精品在线观看 | 国产精品久久免费视频 | 欧美另类国产 | 日本成人片网站 | 99久久久无码国产精品 | 亚洲综合精品久久 | 午夜日韩 | 久久国产电影 | 中文字幕成人影院 | 国产在线视频网站 | 久久综合狠狠综合久久 | 国产99在线 | 亚洲 | 亚洲欧洲精品一区二区 | 黄色av观看 | 高清日韩av | 激情图区在线观看 | 欧美日韩在线看 | 久久99精品国产99久久6尤 | 久久免费视频在线 | 亚洲成人免费 | se在线播放| 精品成人久久 | 国产在线中文字幕 | 国产色 | 日本三级在线观看中文字 | 精品亚洲一区二区 | 日韩3级 | 日韩美女爱爱 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 国产精品69毛片高清亚洲 | www.av在线 | 天天操天天碰 | 精品久久久久久久久久久久久久 | 精品护士一区二区三区 | 午夜精品一区 | 一区二区三区免费 | 国产亚洲一区在线 | 亚洲免费精品 | 国产日韩av在线 | 懂色av色香蕉一区二区蜜桃 | 久久亚洲美女 | 黄色一级片免费播放 | 又黄又爽的网站 | 日韩在线www | 精品国产91乱码一区二区三区 | 理论黄色片 | 99精品电影 | 在线天堂视频 | 一级一级一级毛片 | 久精品视频 | 精品91在线 | 国产午夜一区二区三区 | 岛国一区| 日韩欧美手机在线 | 午夜精品一区二区三区在线视频 | 337p日本粉嫩噜噜噜 | 99国产精品视频免费观看一公开 | 中文字幕视频网站 | 亚洲精品专区 | 99久久婷婷国产综合精品电影 | 欧美一区二区视频 | 亚洲成人av在线播放 | 日本欧美在线观看 | 91精品国产一区二区 | 精品欧美激情在线观看 | 亚洲精品在线免费观看视频 | 国产日韩精品一区二区 | k8久久久一区二区三区 | 一级视频黄色 | 国产精品久久久av | www.久久99| 久久天堂网 | 精品一区二区久久久久久久网站 | 在线精品一区 | 婷婷在线观看视频 | 中文字幕一区二区三区乱码图片 | 日日摸天天爽天天爽视频 | 久久久久国产精品一区二区 | 日韩欧美在线一区 | 国产精品久久久久久久久久久久久久 | 一本大道久久a久久精二百 国产精品片aa在线观看 | 国产精品永久在线观看 | 欧美日本国产欧美日本韩国99 | 日本不卡一区二区 | 999精品视频| 亚洲精品专区 | 成人久久| julia中文字幕久久一区二区 | 欧美日韩国产一区二区三区 | 国产特级毛片 | 香蕉久久夜色精品国产使用方法 | 99国产精品 | 日本激情网 | 久久av一区二区三区 | 国产午夜视频在线观看 | 国产精品免费视频观看 | 日韩视频在线免费观看 | 国内在线精品 | 日韩中文字幕在线免费 | 欧美午夜在线观看 | 欧美成人高清 | 欧美成人精品激情在线观看 | 国产精品久久久久久久久久久久冷 | 在线免费黄色 | 久久久久久网址 | 亚洲国产成人91精品 | 亚洲精品久久久久久久久久久 | 亚洲一二三区在线观看 | 美女一区| 97在线播放| 日韩视频在线免费观看 | 色视频网站在线观看一=区 日韩一二三区 | 伊人啪啪 | 美日韩一区二区三区 | 久久毛片| 国产 亚洲 网红 主播 | 亚洲一区精品在线 | 美女福利视频网站 | 日韩精品在线视频观看 | 日韩成人tv | 一级a性色生活片久久毛片 夜夜视频 | 日韩精品一区二区三区老鸭窝 | 伊人精品视频在线观看 | 欧美午夜一区二区福利视频 | 国内精品亚洲 | 成人免费在线观看 | 国产精品xxxx | 日韩一区二区视频在线 | 国产小视频在线 | 在线视频 91 | 男人的天堂在线视频 | 国产精品久久精品 | 日日夜夜一区二区 | 日本久久精品视频 | 97爱爱爱| 国产精品网站在线观看 | 国产51人人成人人人人爽色哟哟 | 国产精品九九九 | 在线a视频 | 福利视频网站 | 操操网| 国产亚洲精品成人av久久ww | 国产一区亚洲二区三区 | 亚洲精品成人在线 | 青草视频网站 | 四虎影院最新网站 | 国产精品99久久 | 成人亚洲在线观看 | 在线视频亚洲 | 日韩一区二区视频在线 | 欧美日韩精品一区二区三区 | 亚洲精品一区二区三区蜜桃下载 | 夜夜爽99久久国产综合精品女不卡 | 久久久男人天堂 | 国产在线激情视频 | 欧美精品理论片大全 | 日韩精品专区在线影院重磅 | 黄色在线免费观看 | 亚洲欧美精品 | 视频一区二区中文字幕日韩 | 亚洲精品二区 | 亚洲欧美aa | 国产丝袜一区 | 色婷婷狠狠 | 三级色网站 | 日韩欧美国产一区二区 | 99re久久 | 国产综合视频在线观看 | 久久久久av| 亚洲欧美综合 | 亚洲欧美日韩电影 | 久久精品国产99国产 | 欧美成人综合视频 | 日韩成人在线播放 | 久久精品色欧美aⅴ一区二区 | 中文字幕成人 | 国产精品一区二区三区在线播放 | 欧美另类综合 | 欧美日韩国产精品 | 成人免费视频7777777 | 国产午夜精品一区二区三区 | 欧美一区二区三区在线 | 在线日韩视频 | 少妇一级淫片免费放 | 美女h在线观看 | 欧洲精品一区 | 五月天在线婷婷 | va在线| 午夜久久久| 午夜色视频在线观看 | 国产偷录视频叫床高潮对白 | 精品国产一区二区在线 | 国产日韩欧美三级 | 亚洲精品久久久一区二区三区 | 最新日韩精品在线观看 | 羞羞视频在线网站观看 | 99riav国产一区二区三区 | 亚洲网站在线观看 | 国产精品久久毛片 | 日日干夜夜干 | 日韩一片| 久久国产精彩视频 | 一级看片 | 国产高清在线视频 | 成人黄色a | 国产精品三级久久久久久电影 | 国产欧美一区二区精品忘忧草 | 四虎永久免费影院 | 精品日韩一区二区三区 | 狠狠插天天干 | 九九精品视频在线 | 91亚洲成人 | 看av网站| 91色视频在线观看 | 91精品国产综合久久久久久蜜臀 | 天堂资源 | 婷婷亚洲五月 | 久久另类| 欧美日韩高清 | 国产欧美综合一区 | 区一区二区三在线观看 | 久久久久亚洲一区二区三区 | 国产精品久久久久久亚洲调教 | 日韩欧美一级精品久久 | 久久精品中文字幕一区 | 国产免费高清 | 国产日韩在线视频 | 国产视频久久久久久久 | 日本久久久久久 | 国外成人在线视频网站 | 亚洲第一黄 | 亚洲精品成人久久久 | 黄a免费看| 我要看免费黄色片 | 精品福利在线视频 | 免费大片黄在线观看 | 狠狠插狠狠操 | 观看av | 久久久久亚洲精品 | 成人国产精品一级毛片视频 | 国产精品成人国产乱一区 | 日韩看片 | 日韩精品www| 玖玖精品 | 日韩第一区|