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

SpringSecurity原理剖析與權限系統設計

安全
Spring Secutity和Apache Shiro是Java領域的兩大主流開源安全框架,也是權限系統設計的主要技術選型。本文主要介紹Spring Secutity的實現原理,并基于Spring Secutity設計基于RBAC的權限系統。

 Spring Secutity和Apache Shiro是Java領域的兩大主流開源安全框架,也是權限系統設計的主要技術選型。本文主要介紹Spring Secutity的實現原理,并基于Spring Secutity設計基于RBAC的權限系統。

[[284792]]

一、技術選型

  1. 為何把Spring Secutity作為權限系統的技術選型,主要考慮了以下幾個方面:
  2. 數據鑒權的能力:Spring Secutity支持數據鑒權,即細粒度權限控制。
  3. Spring生態基礎:Spring Secutity可以和Spring生態無縫集成。

多樣認證能力:Spring Secutity支持多樣認證方式,如預認證方式可以與第三方認證系統集成。

 

SpringSecurity原理剖析與權限系統設計

 

二、核心架構

權限系統一般包含兩大核心模塊:認證(Authentication)和鑒權(Authorization)。

  • 認證:認證模塊負責驗證用戶身份的合法性,生成認證令牌,并保存到服務端會話中(如TLS)。
  • 鑒權:鑒權模塊負責從服務端會話內獲取用戶身份信息,與訪問的資源進行權限比對。

官方給出的Spring Security的核心架構圖如下:

 

SpringSecurity原理剖析與權限系統設計

 

核心架構解讀:

  • AuthenticationManager:負責認證管理,解析用戶登錄信息(封裝在Authentication),讀取用戶、角色、權限信息進行認證,認證結果被回填到Authentication,保存在SecurityContext。
  • AccessDecisionManager:負責鑒權投票表決,匯總投票器的結果,實現一票通過(默認)、多票通過、一票否決策略。
  • SecurityInterceptor:負責權限攔截,包括Web URL攔截和方法調用攔截。通過ConfigAttributes獲取資源的描述信息,借助于AccessDecisionManager進行鑒權攔截。
  • SecurityContext:安全上下文,保存認證結果。提供了全局上下文、線程繼承上下文、線程獨立上下文(默認)三種策略。
  • Authentication:認證信息,保存用戶的身份標示、權限列表、證書、認證通過標記等信息。
  • SecuredResource:被安全管控的資源,如Web URL、用戶、角色、自定義領域對象等。
  • ConfigAttributes:資源屬性配置,描述安全管控資源的信息,為SecurityInterceptor提供攔截邏輯的輸入。

三、設計原理

通過對源碼的分析,我把Spring Security的核心領域模型設計整理如下:

 

SpringSecurity原理剖析與權限系統設計

 

全局抽象模型解讀:

  • 配置:AuthenticationConfiguration負責認證系統的全局配置,GlobalMethodSecurityConfiguration負責方法調用攔截的全局配置。
  • 構建:AuthenticationConfiguration通過AuthenticationManagerBuilder構建認證管理器AuthenticationManager,GlobalMethodSecurityConfiguration會自動初始化AbstractSecurityInterceptor進行方法調用攔截。
  • Web攔截:HttpSecurity對Web進行安全配置,內置了大量GenericFilterBean過濾器對URL進行攔截。負責認證的過濾器會通過AuthenticationManager進行認證,并將認證結果保存到SecurityContext。
  • 方法攔截:Spring通過AOP技術(cglib/aspectj)對標記為@PreAuthorize、@PreFilter、@PostAuthorize、@PostFilter等注解的方法進行攔截,通過AbstractSecurityInterceptor調用AuthenticationManager進行身份認證(如果必要的話)。
  • 認證:認證管理器AuthenticationManager內置了多種認證器AuthenticationProvider,只要其中一個認證通過,認證便成功。不同的AuthenticationProvider獲取各自需要的信息(HTTP請求、數據庫查詢、遠程服務等)進行認證,認證結果全部封裝在Authentication。需要加載用戶、角色、權限信息的認證器(如密碼認證、預認證等)需要對接UserDetailsManager接口實現用戶CRUD功能。
  • 鑒權:權限攔截器AbstractSecurityInterceptor通過讀取不同的SecurityMetadataSource加載需要被鑒權資源的描述信息ConfigAttribute,然后把認證信息Authentication、資源描述ConfigAttribute、資源對象本身傳遞給AccessDecisionManager進行表決。AccessDecisionManager內置了多個投票器AccessDecisionVoter,投票器會將鑒權信息中的ConfigAttribute轉換為SpringEL的格式,通過表達式處理器SecurityExpressionHandler執行基于表達式的鑒權邏輯,鑒權邏輯會通過反射的方式轉發到SecurityExpressionRoot的各個操作上去。
  • 定制:通過WebSecurityConfigureAdapter可以定制HTTP安全配置HttpSecurity和認證管理器生成器AuthenticationManagerBuilder;通過AbstractPreAuthenticatedProcessingFilter可以定制預認證過濾器;通過UserDetailsManager和UserDetails接口可以對接自定義數據源;通過GrantedAuthority定制權限信息;通過PermissionEvaluator可以定制自定義領域模型的訪問控制邏輯。

四、應用集成

理清Spring Security的定制點后,就可以在系統內部集成Spring Security了。

這里使用預認證的方式,以適配第三方認證系統。AbstractPreAuthenticatedProcessingFilter提供了預認證的擴展點,基于該抽象類實現一個自定義認證過濾器。

  1. public class MyPreAuthFilter extends AbstractPreAuthenticatedProcessingFilter { 
  2.  @Override 
  3.  protected Object getPreAuthenticatedPrincipal(HttpServletRequest request) { 
  4.  // 從第三方系統獲取用戶ID 
  5.  return userId; 
  6.  } 
  7.  @Override 
  8.  protected Object getPreAuthenticatedCredentials(HttpServletRequest request) { 
  9.  return ""
  10.  } 

Spring Security會根據預認證過濾器getPreAuthenticatedPrincipal返回的用戶ID信息,加載用戶角色等初始信息。這里需要實現UserDetailsManager接口,提供用戶信息管理器。

  1. @Service 
  2. public class MyUserManager implements UserDetailsManager { 
  3.  @Override 
  4.  public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { 
  5.  // 從數據庫加載用戶信息 
  6.  return user
  7.  } 
  8.   
  9.  // 其他管理接口 

UserDetails內包含了GrantedAuthority接口類型的權限信息抽象,一般可以基于它自定義角色和權限。Spring Security使用一種接口形式表達角色和權限,角色和權限的差別是角色的ID是以"ROLE_"為前綴。

  1. public class MyRole implements GrantedAuthority { 
  2.  private final String role; 
  3.  @Override 
  4.  public String getAuthority() { 
  5.  return "ROLE_" + role; 
  6.  } 
  7. public class MyAuthority implements GrantedAuthority { 
  8.  private final String authority; 
  9.  @Override 
  10.  public String getAuthority() { 
  11.  return authority; 
  12.  } 

接下來注冊自定義認證過濾器和用戶管理器,這里需要實現WebSecurityConfigurerAdapter進行Web安全配置。

  1. @EnableWebSecurity 
  2. @EnableGlobalMethodSecurity(prePostEnabled = true, mode = AdviceMode.PROXY) 
  3. public class MySecurityConfig extends WebSecurityConfigurerAdapter { 
  4.  @Autowired 
  5.  UserDetailsManager userDetailsManager; 
  6.  @Bean 
  7.  protected AuthenticationProvider createPreAuthProvider() { 
  8.  // 注冊用戶管理器 
  9.  PreAuthenticatedAuthenticationProvider provider = new PreAuthenticatedAuthenticationProvider(); 
  10.  provider.setPreAuthenticatedUserDetailsService(new UserDetailsByNameServiceWrapper<>(userDetailsManager)); 
  11.  return provider; 
  12.  } 
  13.  @Override 
  14.  protected void configure(HttpSecurity http) throws Exception { 
  15.  // 注冊預認證過濾器 
  16.  http.addFilter(new MyPreAuthFilter(authenticationManager())); 
  17.  } 

這樣,最簡單的Spring Security框架集成內系統內部已經完成了。在系統的任意服務接口上可以使用如下方式進行鑒權。

  1. public interface MyService { 
  2.  @PreAuthorize("hasAuthority('QUERY')"
  3.  Object getById(String id); 
  4.   
  5.  @PreAuthorize("hasRole('ADMIN')"
  6.  void deleteById(String id); 

PreAuthorize注解表示調用前鑒權,Spring使用默認使用動態代理技術生成鑒權邏輯。注解內配置了SpringEL表達式來定制鑒權方式。上述代碼中,hasAuthority會檢查用戶是否有QUERY權限,hasRole會檢查用戶是否有ADMIN角色。

使用動態代理的方式進行AOP,只允許在接口層面進行權限攔截,如果想在任意的方法上進行權限攔截,那么就需要借助于AspectJ的方式進行AOP。首先將注解EnableGlobalMethodSecurity的mode設置為AdviceMode.ASPECTJ,然后添加JVM啟動參數,這樣就可以在任意方法上使用Spring Security的注解了。

  1. javaagent:/path/to/org/aspectj/aspectjweaver/1.9.4/aspectjweaver-1.9.4.jar 

以上還是只是以用戶的身份信息(角色/權限)進行權限,靈活度有限,也發揮不了Spring Security的數據鑒權的能力。要使用數據鑒權,需要實現一個Spring Bean。

  1. @Component 
  2. public class MyPermissionEvaluator implements PermissionEvaluator { 
  3.  @Override 
  4.  public boolean hasPermission(Authentication authentication, Object targetDomainObject, Object permission) { 
  5.  // 自定義數據鑒權 
  6.  return false
  7.  } 
  8.  @Override 
  9.  public boolean hasPermission(Authentication authentication, Serializable targetId, String targetType, Object permission) { 
  10.  // 自定義數據鑒權 
  11.  return false
  12.  } 

PermissionEvaluator會被自動注冊到Spring Security框架,并允許在注解內使用如下方式進行鑒權。

  1. @PreAuthorize("hasPermission(#id, 'QUERY')"
  2. Object func1(String id) { 
  3. @PreAuthorize("hasPermission(#id, 'TABLE', 'QUERY')"
  4. Object func2(String id) { 

其中,func1的注解表示校驗用戶是否對id有QUERY權限,代碼邏輯路由到MyPermissionEvaluator的第一個接口。func2的注解表示校驗用戶是否對TABLE類型的id有QUERY權限,代碼邏輯路由到MyPermissionEvaluator的第二個接口。PermissionEvaluator提供了權限系統中數據鑒權的擴展點,稍后會描述如何利用該擴展點定制基于RBAC的權限系統。

五、權限系統

構建基于RBAC(Role Based Access Control)的權限系統,需要明確用戶、角色、權限、資源這幾個核心的概念類的含義和它們之間的關系。

資源:權限系統內需要安全控制的客體,一般是系統內的數據或功能。

權限:描述了資源上的操作抽象,一般是一種動作。

授權:是權限和資源的組合,表示對資源的某一個操作。

角色:描述了一組授權的集合,表示一類特殊概念的功能集。

用戶:權限系統的主體,一般是當前系統的訪問用戶,用戶可以擁有多種角色。

以下是我們設計的基于RABC的權限核心領域模型:

 

SpringSecurity原理剖析與權限系統設計

 

一般情況下,系統內需要權限管控的資源是無法用戶自定義的,因為資源會耦合大量的業務邏輯,所以我們提供了自 資源工廠,通過配置化的方式構建業務模塊所需的資源。而用戶、角色、權限,以及授權記錄都是可以通過相應的管理器進行查詢更新。

另外,資源抽象允許表達資源的繼承和組合關系,繼而表達更復雜的資源模型,資源統一鑒權的流程為:

 

SpringSecurity原理剖析與權限系統設計

 

  • 執行鑒權時,首先看資源是原子資源還是組合資源。
  • 對于原子資源,先查詢是否有授權記錄,再查看角色預授權是否包含當前授權,存在一種便成功。
  • 沒有授權記錄和角色預授權的原子資源,嘗試用父資源(如果有的話)代替鑒權,否則鑒權失敗。
  • 對于組合資源,先進行資源展開,獲取子資源列表。
  • 遍歷子資源列表,并依次對子資源進行鑒權,子資源鑒權結果匯總后,即組合資源鑒權結果。
  • 綜上,基于統一資源抽象和資源配置化構建,可以實現資源的統一構建,繼而實現統一鑒權。

六、總結回顧

本文從Spring Security的架構和原理出發,描述了開源安全框架對于認證和鑒權模塊的設計思路和細節。并提供了系統內集成Spring Security的方法,結合RBAC通用權限系統模型,討論了統一資源構建和統一鑒權的設計和實現。如果你也需要設計一個新的權限系統,希望本文對你有所幫助。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2009-08-03 14:15:24

ASP.NET系統用戶

2022-06-30 10:00:28

數據系統

2016-12-19 14:35:32

Spark Strea原理剖析數據

2023-04-06 13:15:48

MySQL復制原理應用實踐

2009-10-19 14:39:10

2017-10-26 12:26:45

云計算SaaS平臺管理

2025-02-24 08:00:00

線程池Java開發

2025-03-06 00:00:05

DPIHD開發

2025-02-12 00:29:58

2016-11-25 20:52:14

Linux

2024-04-07 11:48:01

系統設計微服務

2009-09-14 10:35:15

Linq內部執行原理

2020-09-16 10:31:58

SMTP網絡電子郵件

2025-06-30 02:22:00

2025-04-15 02:25:00

2022-07-18 08:39:18

ACL訪問控制機制

2025-07-28 04:15:00

2024-07-11 08:17:00

2009-11-23 15:24:40

2009-03-05 10:04:42

NTFS系統安全權限
點贊
收藏

51CTO技術棧公眾號

亚洲国产一区二区三区四区| 亚洲成人av一区| 91色视频在线导航| 久草精品视频在线观看| 国产欧美日韩| 欧美变态tickling挠脚心| 国产中文字幕免费观看| 午夜老司机在线观看| 国产成人在线色| 国产99久久精品一区二区 夜夜躁日日躁 | 无码人妻精品一区二区中文| 日日夜夜亚洲精品| 精品毛片网大全| 日韩video| 你懂的在线看| 国产suv精品一区二区883| 日本一区二区三区四区视频| 澳门黄色一级片| 欧美日韩国产传媒| 日韩成人久久久| 性一交一黄一片| 国产成人77亚洲精品www| 亚洲午夜日本在线观看| 在线丝袜欧美日韩制服| 蜜桃视频在线入口www| 国产凹凸在线观看一区二区| 国产又爽又黄的激情精品视频| 日韩欧美不卡视频| 欧美 日韩 国产 一区| 在线观看不卡av| 国产肉体xxxx裸体784大胆| 精品三级国产| 欧美剧在线免费观看网站| 熟女人妇 成熟妇女系列视频| sm在线观看| 亚洲视频每日更新| 亚洲日本精品| 99中文字幕一区| 国产日韩欧美综合在线| 久久riav| 亚洲欧洲成人在线| 成人久久视频在线观看| 99视频在线播放| www.天堂av.com| 国产美女在线观看一区| 成人免费xxxxx在线观看| 久久精品99北条麻妃| 久久久综合网| 国产99久久精品一区二区| 丰满少妇xoxoxo视频| 亚洲在线电影| 日韩美女福利视频| 亚洲国产精品无码久久久| 亚洲专区一区| 国产91在线视频| 波多野结衣日韩| 喷白浆一区二区| 国产精品户外野外| 中文字幕永久在线观看| 热久久国产精品| 国产精品一区久久久| 中文字幕制服诱惑| 久久99久久久久久久久久久| 国产在线a不卡| 国产女人高潮毛片| 成人做爰69片免费看网站| 成人黄色在线免费观看| 五月激情丁香婷婷| 久久精品人人做| 亚洲黄色一区二区三区| 九七久久人人| 亚洲综合久久久久| 无码人妻精品一区二区三区在线| 波多野结衣久久精品| 在线观看91精品国产入口| 欧美日韩一区二区三区69堂| 国内不卡的一区二区三区中文字幕 | 久久艹在线视频| 久久网中文字幕| 久久久久久婷| 91精品国产自产在线老师啪| 国产激情无套内精对白视频| 成人黄色a**站在线观看| 欧美极品日韩| 日本高清中文字幕在线| 亚洲综合另类小说| 日日噜噜噜噜久久久精品毛片| **欧美日韩在线| 亚洲国产精彩中文乱码av在线播放| 国产偷人妻精品一区| 欧美成人激情| 国模视频一区二区三区| 中文字幕乱伦视频| 高清不卡在线观看| 日韩欧美一区二区三区四区| 国内精品久久久久久野外| 婷婷中文字幕综合| 国产探花在线看| 亚洲第一福利专区| 久久天天躁狠狠躁夜夜爽蜜月| 国产又大又黑又粗免费视频| 毛片基地黄久久久久久天堂| 国产一区在线免费| 麻豆网站在线| 日本乱人伦aⅴ精品| 日本女人黄色片| 欧美美女在线| 久久久久久久成人| 亚洲一级av毛片| 久久亚区不卡日本| av一区二区三区免费观看| 人人鲁人人莫人人爱精品| 欧美大片一区二区| 狂野欧美性猛交| 媚黑女一区二区| 高清视频在线观看一区| 99re在线视频| 色综合天天综合网国产成人综合天| 少妇性l交大片7724com| 成人亚洲一区| 国产97在线播放| 亚洲欧美综合一区二区| 一区二区三区四区激情| 欧美日韩中文不卡| 国产欧美日韩视频在线| 5566成人精品视频免费| 亚洲欧美高清视频| 一区二区三区高清不卡| 九九热免费在线观看| av亚洲免费| 日本精品免费一区二区三区| 少妇又色又爽又黄的视频| 亚洲综合色婷婷| 欧美性受xxxx黒人xyx性爽| 久久精品高清| 国产精品免费福利| 欧美少妇另类| 黑人狂躁日本妞一区二区三区 | 国产成人黄色网址| 精品国产乱码久久久久久果冻传媒| 久久久亚洲影院你懂的| 韩国av永久免费| 亚洲电影第三页| xxxxxx黄色| 国产欧美另类| 久久国产精品亚洲va麻豆| 17videosex性欧美| 亚洲激情在线观看| 久久久久99精品成人片我成大片 | 一个色综合导航| 久久蜜桃av一区精品变态类天堂| 欧美日韩亚洲免费| 涩涩在线视频| 亚洲美女视频网| 欧产日产国产69| 国产亚洲欧美一区在线观看| 亚洲乱码中文字幕久久孕妇黑人| 女厕嘘嘘一区二区在线播放 | 九九色在线视频| 91精品国产欧美日韩| 中文字幕av播放| 懂色av中文字幕一区二区三区| 青草网在线观看| 久久99国产精品久久99大师| 欧美亚洲国产视频| 黄网在线观看| 欧美日韩高清一区| 97在线观看免费高| 大美女一区二区三区| 天天夜碰日日摸日日澡性色av| 奇米777国产一区国产二区| 日产日韩在线亚洲欧美| 日本三级在线播放完整版| 欧美一区二区三区在线电影| 国产中文字幕免费| 久久久另类综合| а 天堂 在线| 一区二区三区国产盗摄| 色爱区成人综合网| 日韩免费成人| 国产成人在线播放| 69成人在线| 国产视频精品自拍| 国产一区二区自拍视频| 亚洲一本大道在线| 亚洲理论片在线观看| 国产伦精品一区二区三区免费| 日本a视频在线观看| 欧美天天综合| 不卡视频一区二区三区| 亚洲欧洲高清| 欧美猛交ⅹxxx乱大交视频| 日本私人网站在线观看| 欧美一区二区三区婷婷月色| 美日韩一二三区| 自拍偷自拍亚洲精品播放| 亚洲中文字幕无码av| 精品一区二区三区香蕉蜜桃| 欧美成人高潮一二区在线看| 久久激情电影| 精品欧美日韩| 日韩一级淫片| 国产精品美女无圣光视频| 波多野结衣中文在线| 最近2019免费中文字幕视频三| 亚洲精品久久久久avwww潮水| 欧美亚洲动漫制服丝袜| 国产午夜视频在线| 综合久久久久综合| xxxx日本免费| 从欧美一区二区三区| 色天使在线观看| 日韩国产精品久久久| 国产av麻豆mag剧集| 欧美先锋影音| 成人短视频在线看| av一区二区在线播放| 欧美日韩大片一区二区三区 | 欧美成人一区二区三区片免费| 久久久999久久久| 狠狠久久五月精品中文字幕| 久久久久久久黄色| 亚洲三级免费电影| 99久久精品久久亚洲精品| 国产午夜精品一区二区三区嫩草 | 国产精品乱子久久久久| 免费a级黄色片| caoporm超碰国产精品| 中文字幕1区2区| 国产精品18久久久| 欧洲美女亚洲激情| 精品一区二区三区视频| 久久久久久久久久久久91| 视频一区二区中文字幕| 欧美日韩亚洲第一| 亚洲综合精品四区| 91专区在线观看| 国产欧美日韩一级| 欧美大片在线播放| 亚洲激情亚洲| 久久综合九色综合88i| 亚洲高清久久| 九九爱精品视频| 亚洲免费网址| 日av中文字幕| 视频一区二区中文字幕| 色一情一乱一伦一区二区三区日本| 美女视频一区免费观看| 国产免费999| 精品一区二区在线视频| 成人av毛片在线观看| 精品无人码麻豆乱码1区2区| www.51色.com| 国产白丝网站精品污在线入口| 日韩女优在线视频| 波多野结衣在线aⅴ中文字幕不卡| 亚洲熟女一区二区| 91在线精品一区二区| 日韩av一二区| 国产精品久久二区二区| 婷婷激情四射网| 亚洲高清在线视频| 日本视频免费观看| 欧美三区免费完整视频在线观看| 国产有码在线观看| 日韩欧美一区二区在线视频| 少妇人妻一区二区| 最近2019年日本中文免费字幕| 国产精品剧情一区二区在线观看| 欧美日韩福利电影| www.精品| 成人免费激情视频| 黄色免费大全亚洲| 亚洲国产成人不卡| 午夜久久福利| 黄色一级免费大片| 国产一区二区h| 国产熟妇搡bbbb搡bbbb| 国产精品国产馆在线真实露脸| 免费看一级一片| 黑人狂躁日本妞一区二区三区| 一区二区小视频| 精品国产一区二区三区忘忧草| 视频一区二区三区国产| www.xxxx精品| 日韩伦理精品| 亚洲xxx视频| 蜜乳av综合| 美女av免费观看| 肉肉av福利一精品导航| 在线观看视频你懂得| 久久久久久久久久久电影| 小泽玛利亚一区二区免费| 色综合久久88色综合天天免费| 国产尤物在线观看| 亚洲情综合五月天| 影音先锋男人资源在线| 国产成人极品视频| 国产精品欧美大片| 在线观看日韩羞羞视频| 性欧美xxxx大乳国产app| 人妻换人妻仑乱| 国产精品少妇自拍| 久久久久久久久久久久久久av| 欧美丰满少妇xxxxx高潮对白| 色吊丝在线永久观看最新版本| 久久精品视频一| 免费高清视频在线一区| 黄色国产精品一区二区三区| 91成人免费| 五月婷婷之综合激情| 91亚洲精品乱码久久久久久蜜桃| 久久中文免费视频| 欧美色倩网站大全免费| 青青青免费视频在线2| 久久久久久网站| 精品国模一区二区三区欧美| 午夜一区二区三区| 日韩电影在线免费观看| 亚洲天堂网一区二区| 亚洲福利国产精品| www黄色网址| 欧美成人在线影院| 成人影院网站ww555久久精品| 亚洲国产一区二区在线| 久久久人人人| 青青草视频播放| 欧美日韩国产影院| 四虎在线视频免费观看| 久久久久久91| 成人偷拍自拍| 国产精品videossex国产高清 | 亚洲福利专区| 国产一卡二卡三卡四卡| 亚洲成人午夜影院| 成人久久久精品国产乱码一区二区| 久久亚洲综合国产精品99麻豆精品福利| 草莓视频成人appios| 日韩av电影免费在线| 日韩在线卡一卡二| 久久国产柳州莫菁门| 色婷婷久久久综合中文字幕| 精品推荐蜜桃传媒| 国产精品video| 日韩欧美精品综合| 性欧美在线视频| 亚洲一级不卡视频| 四季av日韩精品一区| 青青久久av北条麻妃黑人| 国产精品欧美日韩一区| 在线观看的毛片| 亚洲三级理论片| 欧美熟妇乱码在线一区 | 日韩午夜视频在线| 永久免费看av| av电影天堂一区二区在线| 青青青国产在线| 中文字幕日韩高清| 激情五月综合婷婷| 99色这里只有精品| 久久老女人爱爱| 91久久国语露脸精品国产高跟| 久久久999精品| h视频久久久| 久草热视频在线观看| 欧美极品另类videosde| 国产有码在线观看| 欧美精品久久久久久久| 九九热精品视频在线观看| 男操女免费网站| 亚洲精品高清在线| 四虎精品在线| 国产欧美日韩精品在线观看| 欧美成人精品| 六月婷婷七月丁香| 欧美一级夜夜爽| 色老头在线一区二区三区| 亚洲高清不卡一区| 国产99久久久国产精品免费看 | 欧美浪妇xxxx高跟鞋交| 韩国成人免费视频| 日韩精品久久久免费观看| 国产精品一区二区在线看| 日韩视频在线观看一区| www.日韩免费| 台湾色综合娱乐中文网| 日韩av影视大全| 91极品视觉盛宴| 久久亚洲资源| 亚洲日本欧美在线| 成人av综合在线| 国产精品国产av| 热门国产精品亚洲第一区在线| 91精品一区国产高清在线gif| 人妻丰满熟妇aⅴ无码| 日韩一区二区电影在线| 精品三区视频| 人妻精品无码一区二区三区 | 亚洲一卡二卡在线观看| 777精品视频|