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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringSecurity - 用户动态授权 及 动态角色权限

發布時間:2024/3/12 javascript 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringSecurity - 用户动态授权 及 动态角色权限 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、SpringSecurity 動態授權

上篇文章我們介紹了SpringSecurity的動態認證,上篇文章就說了SpringSecurity 的兩大主要功能就是認證和授權,既然認證以及學習了,那本篇文章一起學習了SpringSecurity 的動態授權。

上篇文章地址:https://blog.csdn.net/qq_43692950/article/details/122393435

二、SpringSecurity 授權

我們接著上篇文章的項目繼續修改,上篇文章中有說到我們WebSecurityConfig配制類中的configure(HttpSecurity http)這個方法就是用來做授權的,現在就可以來體驗一下了,比如我們修改以admin為開頭的接口,權限或角色中需要有admin:

@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/admin/**").hasAuthority("admin").antMatchers("/**").fullyAuthenticated().and().formLogin().permitAll().and().csrf().disable();}

下面使用admin用戶訪問admin/test接口:

報了403無權限的錯誤,因為我們設置了admin/**接口必須要有admin這個權限,可以看下上篇文章中寫的UserService類:

這邊直接給用戶設定死了一個admin角色,這里就有個問題了權限和角色有什么區別,其實在SpringSecurity 中權限和角色都放在了一起,可以說概念上是一樣的,但角色是以ROLE_開頭的。

其中還需注意的是如果授權角色可以使用hasRole()和hasAnyRole(),如果是授權權限則使用hasAuthority() 和 hasAnyAuthority()

角色授權:授權代碼需要加ROLE_前綴,controller上使用時不要加前綴。
權限授權:設置和使用時,名稱保持一至即可。

所以可以修改UserService類:

在此請求接口:

現在就有權限訪問了,但是寫死肯定不是我們要的效果,所以此時可以將角色放在數據庫中,通過查詢數據庫動態獲取用戶的角色。

下面就需要在數據庫中創建role角色表:

CREATE TABLE `role` (`id` int(11) NOT NULL AUTO_INCREMENT,`role` varchar(255) NOT NULL,`role_describe` varchar(255) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

角色肯定是和人有關系的,而且有時多對多的關系,所以根據關系模型我們要抽取出一個角色用戶關系表:

CREATE TABLE `user_role` (`id` int(11) NOT NULL AUTO_INCREMENT,`userid` int(11) NOT NULL,`roleid` int(11) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;


對于角色的新增和關聯用戶,無非就是數據庫的增刪改,這里不做演示了,直接在創建好表可以在表中添加幾條角色,并關聯用戶:


添加RoleEntity實體

@Data @TableName("/role") public class RoleEntity {private Long id;private String role;@TableField("role_describe")private String roleDescribe; }

RoleMapper類,并寫根據用戶id查詢全部角色的接口:

@Mapper @Repository public interface RoleMapper extends BaseMapper<RoleEntity> {@Select("SELECT r.id,r.role,r.role_describe FROM user_role u,role r where u.roleid = r.id AND u.userid = #{userId}")List<RoleEntity> getAllRoleByUserId(@Param("userId") Integer userId); }

修改UserService類:

@Service public class UserService implements UserDetailsService {@AutowiredUserMapper userMapper;@AutowiredRoleMapper roleMapper;@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {LambdaQueryWrapper<UserEntity> wrapper = new LambdaQueryWrapper<UserEntity>().eq(UserEntity::getUsername, username);UserEntity userEntity = userMapper.selectOne(wrapper);if (userEntity == null) {throw new UsernameNotFoundException("用戶不存在!");}List<GrantedAuthority> auths = roleMapper.getAllRoleByUserId(userEntity.getId()).stream().map(r -> new SimpleGrantedAuthority(r.getRole())).collect(Collectors.toList());userEntity.setRoles(auths);return userEntity;}public boolean register(String userName, String password) {UserEntity entity = new UserEntity();entity.setUsername(userName);entity.setPassword(new BCryptPasswordEncoder().encode(password));entity.setEnabled(true);entity.setLocked(false);return userMapper.insert(entity) > 0;} }

下面就可以測試了,在瀏覽器再次訪問上面的接口:

但是發現是403,原因是我們給admin設置的是權限admin,不是角色,數據庫中存的是ROLE_admin,這里是想讓大家對兩者的區別更加深刻下,修改數據庫為admin

重新啟動再次訪問:

已經可以訪問了。上面大家應該對權限和角色有了一定的了解,下面對授權和授予角色的方法做下說明:

  • hasRole
    如果用戶具備給定角色就允許訪問,否則出現 403。給接口授權時無需寫ROLE_開頭,因為底層代碼會自動添加與之進行匹配,用戶添加角色時必須寫ROLE_。

  • hasAnyRole
    表示用戶具備任何一個條件都可以訪問。

  • hasAuthority
    如果當前的主體具有指定的權限,則返回 true,否則返回 false

  • hasAnyAuthority
    如果當前的主體有任何提供的角色(給定的作為一個逗號分隔的字符串列表)的話,返true

現在我們已經了解怎么樣給用戶授權了,也知道怎么給接口賦予權限了,但是還是有個問題:

這個都在代碼里面寫死也不合適呀,其實這里有兩種方案,一種是地址和角色的固定變化不大的場景下,可以在這里從數據庫中讀取出來通過HttpSecurity對象映射角色,但這種方案不太好在項目運行期間動態添加角色。還有一種方案就是實現FilterInvocationSecurityMetadataSource接口,在這里面根據當前訪問的url返回該url所具有的全部角色。顯然后者更為靈活,但每次訪問一次接口都取獲取全部的角色肯定性能有所損失。

下面分別實現下這兩種情況:

三、數據庫讀取通過HttpSecurity授權

上面已經創建了role角色表,現在要做url和role的關聯,所以添加一個menu表用來存放url:

CREATE TABLE `menu` (`id` int(11) NOT NULL AUTO_INCREMENT,`pattern` varchar(255) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

menu和role也都是多對多的關系,所以也需要建一個menu_role關系表:

CREATE TABLE `menu_role` (`id` int(11) NOT NULL AUTO_INCREMENT,`menu_id` int(11) NOT NULL,`role_id` int(11) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

還是在表中添加一些數據:


創建MeunEntity實體類:

@Data @TableName("menu") public class MeunEntity {@TableId(type = IdType.AUTO)private Integer id;private String pattern; }

MeunMapper 繼承BaseMapper

@Mapper @Repository public interface MeunMapper extends BaseMapper<MeunEntity> { }

修改RoleMapper:

@Mapper @Repository public interface RoleMapper extends BaseMapper<RoleEntity> {@Select("SELECT r.id,r.role,r.role_describe FROM user_role u,role r where u.roleid = r.id AND u.userid = #{userId}")List<RoleEntity> getAllRoleByUserId(@Param("userId") Integer userId);@Select("SELECT r.id,r.role,r.role_describe FROM menu_role m,role r where m.role_id = r.id AND m.menu_id = #{menuId}")List<RoleEntity> getAllRoleByMenuId(@Param("menuId") Integer menuId); }

修改WebSecurityConfig:

@Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Autowiredprivate UserService userService;@AutowiredMeunMapper meunMapper;@AutowiredRoleMapper roleMapper;@Overridepublic void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(userService).passwordEncoder(password());}@BeanPasswordEncoder password() {return new BCryptPasswordEncoder();}@Overrideprotected void configure(HttpSecurity http) throws Exception {ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry authorizeRequests = http.authorizeRequests();List<MeunEntity> meunEntities = meunMapper.selectList(null);meunEntities.forEach(m -> {authorizeRequests.antMatchers(m.getPattern()).hasAnyAuthority(roleMapper.getAllRoleByMenuId(m.getId()).stream().map(RoleEntity::getRole).toArray(String[]::new));});authorizeRequests.antMatchers("/**").fullyAuthenticated().and().formLogin().permitAll().and().csrf().disable();}@Overridepublic void configure(WebSecurity web) throws Exception {web.ignoring().antMatchers("/register/**");} }

重啟項目,然后再次訪問測試接口,已經實現和上面相同的效果:

四、通過FilterInvocationSecurityMetadataSource 動態角色

上面已經實現了第一種方案,下面繼續實現第二中方案,下面創建一個類實現FilterInvocationSecurityMetadataSource 接口:

@Component public class CustomFilterInvocationSecurityMetadataSource implements FilterInvocationSecurityMetadataSource {@AutowiredMeunMapper meunMapper;@AutowiredRoleMapper roleMapper;//用來實現ant風格的Url匹配AntPathMatcher antPathMatcher = new AntPathMatcher();@Overridepublic Collection<ConfigAttribute> getAttributes(Object object) throws IllegalArgumentException {//獲取當前請求的UrlString requestUrl = ((FilterInvocation) object).getRequestUrl();List<MeunEntity> list = meunMapper.selectList(null);List<ConfigAttribute> roles = new ArrayList<>();list.forEach(m -> {if (antPathMatcher.match(m.getPattern(), requestUrl)) {List<ConfigAttribute> allRoleByMenuId = roleMapper.getAllRoleByMenuId(m.getId()).stream().map(r -> new SecurityConfig(r.getRole())).collect(Collectors.toList());roles.addAll(allRoleByMenuId);}});if (!roles.isEmpty()) {return roles;}return SecurityConfig.createList("ROLE_LOGIN");}@Overridepublic Collection<ConfigAttribute> getAllConfigAttributes() {return null;}@Overridepublic boolean supports(Class<?> clazz) {return true;} }

還需創建一個CustomAccessDecisionManager用來實現AccessDecisionManager:

@Component public class CustomAccessDecisionManager implements AccessDecisionManager {@Overridepublic void decide(Authentication auth, Object object, Collection<ConfigAttribute> ca) throws AccessDeniedException, InsufficientAuthenticationException {for (ConfigAttribute configAttribute : ca) {//如果請求Url需要的角色是ROLE_LOGIN,說明當前的Url用戶登錄后即可訪問if ("ROLE_LOGIN".equals(configAttribute.getAttribute()) && auth instanceof UsernamePasswordAuthenticationToken){ return;}Collection<? extends GrantedAuthority> auths = auth.getAuthorities(); //獲取登錄用戶具有的角色for (GrantedAuthority grantedAuthority : auths) {if (configAttribute.getAttribute().equals(grantedAuthority.getAuthority())){return;}}}throw new AccessDeniedException("權限不足");}@Overridepublic boolean supports(ConfigAttribute configAttribute) {return true;}@Overridepublic boolean supports(Class<?> aClass) {return true;} }

修改WebSecurityConfig

@Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Autowiredprivate UserService userService;@AutowiredCustomAccessDecisionManager customAccessDecisionManager;@AutowiredCustomFilterInvocationSecurityMetadataSource customFilterInvocationSecurityMetadataSource;@Overridepublic void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(userService).passwordEncoder(password());}@BeanPasswordEncoder password() {return new BCryptPasswordEncoder();}@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().withObjectPostProcessor(new ObjectPostProcessor<FilterSecurityInterceptor>() {@Overridepublic <O extends FilterSecurityInterceptor> O postProcess(O o) {o.setSecurityMetadataSource(customFilterInvocationSecurityMetadataSource);o.setAccessDecisionManager(customAccessDecisionManager);return o;}}).antMatchers("/**").fullyAuthenticated().and().formLogin().permitAll().and().csrf().disable();}@Overridepublic void configure(WebSecurity web) throws Exception {web.ignoring().antMatchers("/register/**");}@BeanRoleHierarchy roleHierarchy() {RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl();String hierarchy = "ROLE_admin > ROLE_user > ROLE_common";roleHierarchy.setHierarchy(hierarchy);return roleHierarchy;} }

再次測試上面的測試接口,可以發現也達到了相同的效果:

但是此時是動態角色的,我們可以創建一個新用戶,給新用戶一個新的角色,再給該角色賦予admin/**的權限。

創建用戶adc

添加角色:

角色綁定用戶:

角色綁定menu:


下面清楚瀏覽器的緩存,使用abc用戶登錄:


成功訪問接口,說明動態角色權限已經生效了。


喜歡的小伙伴可以關注我的個人微信公眾號,獲取更多學習資料!

總結

以上是生活随笔為你收集整理的SpringSecurity - 用户动态授权 及 动态角色权限的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

黄色美女免费网站 | 日韩精品久久一区二区 | 美女av免费看 | 午夜国产在线观看 | 毛片激情永久免费 | 中文字幕日韩国产 | 国产主播大尺度精品福利免费 | 国偷自产中文字幕亚洲手机在线 | 在线视频99| 免费视频二区 | 伊人久久精品久久亚洲一区 | 在线你懂 | 91福利社在线观看 | 久久99精品国产 | 中文字幕在线观看免费高清电影 | 蜜臀一区二区三区精品免费视频 | 中文字幕一区二区三区精华液 | 国语精品免费视频 | 偷拍精偷拍精品欧洲亚洲网站 | 六月天综合网 | 一区二区激情视频 | 国内精品亚洲 | 日本成人a | 美女网站视频免费都是黄 | 一区二区三区中文字幕在线观看 | 亚洲综合激情网 | www免费视频com━ | 99热这里精品 | 久久精品一区八戒影视 | 免费看的黄色片 | 国产正在播放 | 色综合久久久久网 | www色综合 | 91av官网| 国产高清视频免费观看 | 日本精品中文字幕在线观看 | 欧美在线aaa| 欧美作爱视频 | 激情久久伊人 | 欧美日韩国产区 | 97干com | 欧美国产在线看 | 夜夜躁日日躁狠狠久久88av | 天天天天色射综合 | 久久综合综合久久综合 | 午夜国产影院 | 玖玖色在线观看 | 中文字幕在线观看亚洲 | 啪啪肉肉污av国网站 | 992tv成人免费看片 | 日韩在线欧美在线 | 黄色片视频在线观看 | 婷婷av网站| 中文字幕 欧美性 | 成人理论在线观看 | 精品96久久久久久中文字幕无 | 成人91视频 | 色综合色综合色综合 | 色婷婷精品大在线视频 | 国产精品自产拍在线观看中文 | 欧美久久九九 | 国产欧美在线一区二区三区 | 久热电影 | 成人小视频在线 | 国产一区在线免费观看 | 日韩欧美视频二区 | 欧美天堂久久 | 久久久免费观看完整版 | 成人一级电影在线观看 | 成人av高清在线观看 | 国产群p视频 | 三上悠亚一区二区在线观看 | 毛片精品免费在线观看 | 亚洲1级片 | 国产护士hd高朝护士1 | 久久论理 | av免费在线观看1 | 九九精品久久久 | 一级欧美一级日韩 | 香蕉蜜桃视频 | 视频91| 亚洲,国产成人av | 91在线亚洲| 美女久久久久久久久久久 | 国产不卡视频在线 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 日本韩国精品一区二区在线观看 | 一级片色播影院 | 久久人人爽人人爽人人片 | 91成人精品观看 | 亚洲综合在线五月天 | 99久热 | 一性一交视频 | 亚洲精品黄网站 | 五月天视频网站 | 96av麻豆蜜桃一区二区 | 国产精品久久久久久一二三四五 | 91在线在线观看 | 国产成人福利在线 | 国产精品自拍在线 | 天天色天天射天天操 | 成人av网站在线观看 | 日本中文一区二区 | 免费日韩 精品中文字幕视频在线 | 最近的中文字幕大全免费版 | 91福利专区| 天堂av高清 | 久久久久亚洲精品国产 | 啪啪免费观看网站 | 中文字幕av一区二区三区四区 | 99热.com| 天天插一插 | 久久久免费播放 | 欧美国产不卡 | 91福利影院在线观看 | 狠狠干 狠狠操 | 在线精品国产 | 在线三级播放 | 国产剧情在线一区 | 国产成人一区二区在线观看 | 精品国产_亚洲人成在线 | 在线亚洲日本 | 亚洲国产综合在线 | 99热精品免费观看 | 婷婷丁香色 | 91精品久久久久久久99蜜桃 | 狠狠色2019综合网 | 狠狠躁日日躁狂躁夜夜躁 | 国产精品a成v人在线播放 | 九九热1| 一级黄色片毛片 | 在线看日韩 | 国产在线一区二区三区播放 | 日韩成片 | 亚洲传媒在线 | 国产高清av在线播放 | 911av视频| 国产视频91在线 | 婷婷色综合色 | 国产九九精品 | 欧美a√大片| 99热精品视 | 久碰视频在线观看 | 欧美精品视 | 欧美一级裸体视频 | 99久久999久久久精玫瑰 | 91麻豆精品国产91久久久久久久久 | 日本黄色片一区二区 | 精品国产一区二区三区男人吃奶 | 色视频网站在线观看一=区 a视频免费在线观看 | 日韩精品无 | 狠狠干夜夜操天天爽 | 在线看一级片 | 亚洲最新合集 | 亚洲综合涩 | 成人综合婷婷国产精品久久免费 | 欧美一级日韩三级 | 国产精品精品久久久久久 | 成年在线观看 | 亚洲精品在线视频播放 | 成人免费观看在线视频 | 色com | 国内精品视频一区二区三区八戒 | 午夜视频在线观看一区二区三区 | 日本深夜福利视频 | 国产成人精品999在线观看 | 久久精品美女视频 | 国内外成人免费在线视频 | av片免费播放 | 能在线观看的日韩av | 中文字幕在线看视频国产 | 中文字幕 婷婷 | 日韩a级黄色 | 国产精品久久99精品毛片三a | av电影一区二区 | 久草在线视频免费资源观看 | www.eeuss影院av撸 | 99久久婷婷国产一区二区三区 | 一本一道久久a久久综合蜜桃 | aaa亚洲精品一二三区 | 狠狠躁天天躁 | 亚洲欧美激情精品一区二区 | 国产在线观看高清视频 | 欧美疯狂性受xxxxx另类 | 99视频在线精品国自产拍免费观看 | av丝袜天堂 | 1区2区视频 | 免费视频你懂的 | 国产一级视频在线观看 | 亚洲精品玖玖玖av在线看 | av黄在线播放 | 色wwww| 香蕉在线影院 | 国产精品久久久久久久av大片 | 天天射夜夜爽 | 一区二区三区中文字幕在线观看 | 精品久久久久久久久久国产 | 亚洲国产日韩一区 | 久草网站在线观看 | 亚洲欧美日韩在线看 | 一区二区三区在线免费观看视频 | 久草精品视频在线播放 | 亚洲天堂网在线视频 | 国产成人在线看 | 中文字幕免费国产精品 | 久久蜜臀一区二区三区av | 中文字幕中文字幕在线中文字幕三区 | 日日干天天爽 | 国产青青青 | 久久成人黄色 | 丁香六月在线 | 福利网在线 | 免费午夜视频在线观看 | 欧美日韩精品影院 | 一区二区三区免费看 | 国产午夜精品一区二区三区欧美 | 久久色中文字幕 | 日韩色综合网 | 亚洲精品中文在线观看 | 久久影视一区 | 国产高清免费av | 激情五月伊人 | 7777精品伊人久久久大香线蕉 | 久久亚洲综合色 | 人人视频网站 | 99免费在线观看视频 | 国产精品一区二区三区在线播放 | 亚洲情感电影大片 | 色婷婷亚洲婷婷 | 在线观看黄污 | 色吊丝av中文字幕 | 国产一区二区三区免费视频 | 91精品国产乱码 | 91av视频在线观看 | 色欧美成人精品a∨在线观看 | 欧美日韩精品国产 | 午夜体验区 | 欧美精品网站 | 99爱这里只有精品 | 国产一区二区精 | 久久精品99北条麻妃 | 天天操天天色天天射 | 麻豆传媒视频在线免费观看 | 亚洲精品观看 | 人人添人人澡人人澡人人人爽 | 国产资源在线观看 | 久久97超碰| 精品久久一二三区 | 81精品国产乱码久久久久久 | 天天综合网天天综合色 | 欧美日本中文字幕 | 中文在线中文a | 99理论片| 日韩黄色中文字幕 | 成人免费观看a | 国产精品6 | 国产97色 | 久久经典国产视频 | 99亚洲精品视频 | 国产成人在线播放 | 久久久精品成人 | 精品国偷自产国产一区 | 国产精品视频地址 | 久久国产女人 | 国产成人精品一区在线 | 国产在线精品视频 | 999久久久久久久久 69av视频在线观看 | 开心色激情网 | 人人盈棋牌 | 亚洲精品国偷自产在线99热 | 91最新地址永久入口 | 久久久久久久久久久成人 | 久草综合在线观看 | 欧美一级在线观看视频 | 国产欧美三级 | 久久久黄色av | 成人教育av | 日本黄色大片免费 | 91九色自拍 | 国产剧情在线一区 | 精品国产乱码久久久久久天美 | 欧美一级视频一区 | av再线观看| www日日| 久久久久久亚洲精品 | 欧美色图亚洲图片 | 在线之家官网 | 国产永久免费 | 国产玖玖精品视频 | 久久久五月婷婷 | 五月婷婷中文网 | 国产精品一区二区三区在线看 | 黄色91免费观看 | 精品在线播放 | 免费观看性生交 | 在线免费观看视频a | 日韩av在线网站 | 久久激情电影 | 在线中文字幕av观看 | 香蕉视频在线视频 | 欧美韩国在线 | 亚洲专区路线二 | av在线播放观看 | 色狠狠狠 | 色www.| 不卡av在线 | 欧美日韩高清在线观看 | 国产日韩精品在线 | av在线免费不卡 | 伊人六月 | 国产真实精品久久二三区 | av免费在线观看网站 | www.香蕉视频| 麻豆传媒在线免费看 | 国产在线黄色 | 日日摸日日碰 | 美女视频永久黄网站免费观看国产 | 欧美日韩裸体免费视频 | 久久人人97超碰精品888 | 国产.精品.日韩.另类.中文.在线.播放 | 国精产品999国精产品视频 | 精品视频中文字幕 | 色综合天天综合在线视频 | av在线超碰 | 欧美精选一区二区三区 | 成人中文字幕+乱码+中文字幕 | www.99热精品 | 精品国产精品国产偷麻豆 | 国产精品久久久久永久免费 | 成人av片免费看 | 日韩欧美专区 | www.夜夜草 | 玖玖国产精品视频 | 久久在线视频精品 | 一区二区不卡在线观看 | 日韩 国产 | 免费黄色在线 | 在线观看日韩专区 | 国产一级三级 | 午夜美女福利直播 | 91丨九色丨国产在线 | 国产最新在线视频 | 日日摸日日碰 | 免费高清男女打扑克视频 | 久久久精品一区二区 | 久久99精品国产麻豆婷婷 | 天天综合网在线观看 | av千婊在线免费观看 | 色婷丁香 | 日韩av一区二区在线影视 | 天天综合色天天综合 | 91在线看视频免费 | 欧美乱熟臀69xxxxxx | 亚洲欧美日韩在线看 | 奇米7777狠狠狠琪琪视频 | 久久婷婷精品 | 99久久成人 | 92中文资源在线 | 久久a v视频| 一区二区视频在线观看免费 | 欧美大荫蒂xxx | 久久理论电影网 | 国产特级毛片aaaaaa高清 | 久久在线视频精品 | 欧美日韩在线精品 | 四虎影视成人永久免费观看视频 | 国产特级毛片aaaaaaa高清 | 国产激情小视频在线观看 | 最近2019中文免费高清视频观看www99 | 日韩在线一级 | 中文字幕 在线 一 二 | 日本久久久久久 | 最新av电影网址 | 久久99国产精品二区护士 | 天天做天天爱天天综合网 | 探花视频免费观看高清视频 | 久久精品91视频 | 国产精品一区在线播放 | 99视频偷窥在线精品国自产拍 | 黄色www在线观看 | 99久免费精品视频在线观看 | 久久精品香蕉视频 | 99久免费精品视频在线观看 | 99精品在线播放 | 国产免费a| 国产精品大片在线观看 | 伊人五月婷 | 久久亚洲福利 | 国产一区二区视频在线播放 | 国产一二三四在线视频 | 最近中文字幕国语免费高清6 | 久久久久久久久久电影 | 欧美精品日韩 | 中文字幕韩在线第一页 | 久久专区 | 成人毛片在线观看视频 | 五月天婷婷在线播放 | 免费www视频 | 午夜在线国产 | 久久成人在线视频 | 狠狠操天天干 | 贫乳av女优大全 | 天天爽夜夜操 | 99精品久久久久久久久久综合 | 国产精品久久久久久久久久ktv | av片在线观看免费 | 国产午夜精品理论片在线 | 91干干干| av一区二区三区在线播放 | 九九热免费观看 | 亚洲精品国产精品国自产观看 | 福利视频一区二区 | av在线播放快速免费阴 | 九九九热精品免费视频观看网站 | 99久久精品国产一区二区成人 | 欧美片网站yy | 五月婷婷开心中文字幕 | 国产精品久久久久婷婷 | 国产成人高清在线 | 色资源在线 | 国产精品小视频网站 | 中文字幕一区二区三区在线视频 | 999成人国产 | 911精品美国片911久久久 | 欧美孕交vivoestv另类 | 欧美 日韩 视频 | 日韩精品一区二区三区外面 | 97精品久久人人爽人人爽 | 国产精品一区二区三区免费视频 | 成人av在线电影 | 国产精品一区二区免费看 | 欧美亚洲xxx| 国产精品第54页 | 国产美腿白丝袜足在线av | 久久综合导航 | 性色va| 日韩电影在线一区二区 | 午夜黄色一级片 | 久久精品一区二区三区中文字幕 | 麻豆极品 | 九九免费在线观看视频 | 欧美性春潮| 亚洲国产精品久久久久久 | 精品高清美女精品国产区 | 九色91在线 | 亚洲精品午夜国产va久久成人 | 日韩av中文字幕在线 | 日韩三级免费 | 999久久久久 | 国产精品第三页 | 国产亚洲在线 | 久久久久99999 | 在线观看蜜桃视频 | 欧美性精品| 97精品超碰一区二区三区 | 国产成人精品一二三区 | 国产黄色片在线免费观看 | 久久午夜色播影院免费高清 | 天堂av高清 | 免费在线观看成人小视频 | 久久综合久久综合这里只有精品 | 欧美在线日韩在线 | 最近中文字幕 | 婷婷日韩| 日韩欧美成人网 | 欧美一级片免费播放 | 国产免费观看av | 在线观看视频一区二区三区 | 亚洲国产精品人久久电影 | 91av电影网| 手机成人在线 | www.com久久久 | 久草亚洲视频 | 色综合久久88色综合天天 | 波多野结衣理论片 | 亚洲国产人午在线一二区 | 久久精品一二三区 | 国产精品久99 | 日韩影视大全 | 五月婷婷狠狠 | 日韩av偷拍| 激情欧美xxxx | 亚洲综合色站 | 91大神免费视频 | 成人国产精品 | 808电影| 日韩精品观看 | 国产原创在线 | 操处女逼| 久久久久久国产精品免费 | 97夜夜澡人人爽人人免费 | 亚洲a成人v| 久久无码av一区二区三区电影网 | 国产精品一区二区电影 | av超碰免费在线 | 激情网第四色 | 欧美综合在线观看 | 免费中文字幕在线观看 | 国产精品黑丝在线观看 | 久久综合九色综合欧美狠狠 | 美女黄视频免费 | 91色国产在线 | 午夜的福利 | 人人揉人人揉人人揉人人揉97 | 日韩一级电影在线 | 日韩在线观看小视频 | 东方av免费在线观看 | 国外av在线 | 亚洲欧美视频一区二区三区 | 欧美性极品xxxx做受 | 又黄又网站 | 天天碰天天操视频 | 久久情网 | 久久久久久久久久电影 | 亚洲激色 | 一级片免费视频 | 伊人天天干 | 精品国产黄色片 | 久久国产视频网站 | 免费热情视频 | 日韩av中文在线观看 | 夜夜夜夜操 | 91影视成人 | 国产免费一区二区三区网站免费 | 色婷婷亚洲综合 | 免费影视大全推荐 | www.国产毛片 | 亚洲在线综合 | 五月婷婷久草 | 免费三级在线 | 亚洲深夜影院 | 久久免费黄色大片 | 中文字幕一二三区 | 91伊人影院 | 日韩极品在线 | 97在线观看免费高清完整版在线观看 | 超碰免费公开 | 亚洲综合情 | 亚洲不卡在线 | 黄色三级久久 | 97福利社 | 99婷婷 | 中文字幕刺激在线 | 国内精品视频在线 | 91av社区 | 精品视频久久久久久 | 色橹橹欧美在线观看视频高清 | av网站手机在线观看 | 国产成人av电影在线观看 | 亚洲精品免费在线观看视频 | 国产精品一区二区果冻传媒 | 激情综合色播五月 | 成人免费看电影 | 狠狠色狠狠综合久久 | 色婷婷激婷婷情综天天 | 国产99久久久国产 | 天天射天天操天天干 | 九草视频在线 | 亚洲精品国产精品久久99 | 91精品国产成人www | aaaaaa毛片 | 欧美一级片 | 亚洲天堂网在线观看视频 | 日韩91av| 国产高h视频 | 在线观看激情av | 亚洲免费观看在线视频 | 日日夜夜人人精品 | www.久久色 | 国产资源中文字幕 | 国产精品免费在线观看视频 | 天天色综合1 | 亚洲国产一区二区精品专区 | 色综合久久五月 | 狠狠色噜噜狠狠狠狠 | www天天操 | 亚洲专区中文字幕 | 国产免费久久精品 | 最新日韩在线观看 | 色999五月色| www五月天 | 国产欧美日韩精品一区二区免费 | 亚洲综合网站在线观看 | 在线视频黄| 国产黄在线观看 | 伊色综合久久之综合久久 | 色噜噜在线观看 | 国产精品久久久久久久av电影 | 一区二区三区中文字幕在线 | 东方av在线免费观看 | 九色精品在线 | 最近中文字幕完整高清 | 99国产视频在线 | 国产高清无线码2021 | av福利在线免费观看 | 免费中午字幕无吗 | 狠狠躁夜夜av | 成人黄色大片在线免费观看 | 成人免费av电影 | 天天操天天色天天射 | 波多野结衣网址 | 久久不卡av | 超碰在线观看av | 免费进去里的视频 | 日韩在线视 | 香蕉视频在线视频 | 91免费网站在线观看 | 天天综合网久久 | 狠狠狠色丁香综合久久天下网 | 青青河边草观看完整版高清 | 欧美大jb | 久久综合视频网 | 91成品人影院| 欧美视频一区二 | 欧美狠狠操 | 久久综合色天天久久综合图片 | 99日精品| 中文在线字幕免费观 | 欧美日韩视频在线一区 | 91av原创 | 久久这里有精品 | 娇妻呻吟一区二区三区 | 中文字幕 成人 | 色综合a| 久久伊人精品天天 | 91久久偷偷做嫩草影院 | 国产精品综合久久久久 | 国产免费又粗又猛又爽 | 亚洲欧洲精品视频 | 99热这里只有精品在线观看 | 亚洲激情校园春色 | 亚洲国产精品久久久久 | 免费看的黄网站 | 91香蕉亚洲精品 | 国产精品免费久久久久久久久久中文 | 国产精品一区二区果冻传媒 | 97超碰资源站 | 亚洲免费视频观看 | 欧洲黄色片 | 伊人成人精品 | 日本久久中文 | 免费日韩一区二区三区 | 欧美久久综合 | 成人av免费看 | 九九精品久久 | 国产精品ⅴa有声小说 | 日韩久久精品 | 免费看黄色毛片 | 亚洲天堂网站视频 | 欧美一级视频一区 | 国产五月婷| 久久不卡av| 日韩欧美精品一区二区三区经典 | 免费高清av在线看 | 中文字幕在线观看一区二区三区 | 在线а√天堂中文官网 | 一区二区三区日韩视频在线观看 | 91中文视频 | 国产一区免费观看 | 久久中文欧美 | 日韩二区在线 | 日韩色综合网 | 欧美久久成人 | 久精品在线观看 | 午夜视频在线观看一区二区 | 午夜精品久久久久99热app | 超碰在线公开免费 | 91九色在线视频观看 | 久久久99国产精品免费 | 在线观看的黄色 | 婷婷深爱五月 | 亚洲人精品午夜 | 97超碰中文字幕 | 美女福利视频网 | 五月婷婷在线视频观看 | 国产一区二区在线免费观看 | 久久伊人色综合 | 色网站在线免费 | 97在线视频免费观看 | 久久久久高清毛片一级 | 天天综合区 | 久草视频视频在线播放 | 久香蕉 | 久久精品视 | 黄色日视频 | 夜夜躁狠狠燥 | 黄色com | 国产啊v在线观看 | 欧美日韩国产精品一区 | 在线观看av中文字幕 | 91精品专区 | 色婷婷狠狠五月综合天色拍 | 就要干b | 天堂在线一区 | 激情视频一区二区三区 | 国产午夜精品一区二区三区欧美 | 久久99视频 | 麻豆视频国产在线观看 | 4hu视频| 婷婷色综合色 | 日韩精品一区二区在线观看视频 | av电影一区| 久久综合久久综合这里只有精品 | 国产视频二区三区 | 黄色免费在线视频 | 亚洲干视频在线观看 | 日韩视频免费播放 | 日韩视频一二三区 | 欧美精品久久久久久久久老牛影院 | 狠狠的操狠狠的干 | 啪啪动态视频 | 日韩一区二区三区在线观看 | av中文字幕日韩 | 丁香六月中文字幕 | 天天干天天玩天天操 | 国产真实在线 | 丝袜美腿在线播放 | 中文字幕视频网 | 欧美一区中文字幕 | av丝袜美腿 | 色婷婷狠狠操 | 国产精品久久久久久久7电影 | 99视屏| 夜夜高潮夜夜爽国产伦精品 | 久久久久久久亚洲精品 | 中文字幕一区二区三区乱码不卡 | 香蕉视频在线观看免费 | 精品久久久久久综合日本 | 亚洲精品一区二区精华 | 久久久福利视频 | 亚洲精品一区二区三区新线路 | 91毛片视频| 日本成人黄色片 | 久久精选 | 久久理论视频 | 欧美色图东方 | 成人一区二区三区中文字幕 | 香蕉97视频观看在线观看 | 热久久99这里有精品 | 国产精品18久久久久久久网站 | 九色91av | 欧美日韩国产免费视频 | 97超碰资源站 | 国色综合 | 亚洲精品视频免费在线 | 久久国产精品电影 | 国产欧美精品xxxx另类 | 91中文字幕永久在线 | 1024手机基地在线观看 | 又黄又爽又刺激的视频 | 亚洲精品视频免费在线 | 在线看国产日韩 | 国产女教师精品久久av | 手机av在线不卡 | 狠狠色丁香婷婷综合视频 | 九9热这里真品2 | 99久视频 | 亚洲成av人片在线观看www | 欧美日韩xxxxx | 欧美日韩久久久 | 久久久久国产精品一区 | 色婷婷激情四射 | 97色免费视频 | www在线观看视频 | 成人av影视 | 国产精品美女久久久免费 | 精品国产观看 | 超碰97.com| 久久久久欠精品国产毛片国产毛生 | 黄色av网站在线免费观看 | 亚洲蜜桃av | 久久精品一区二区三区视频 | 精品亚洲免费视频 | 黄色三级视频片 | 五月天,com | 日本久久久久 | 久久综合久久鬼 | 亚洲人在线7777777精品 | 天天拍天天操 | 婷婷丁香六月天 | 九九九免费视频 | 久久精品欧美一区二区三区麻豆 | 成人av一级片 | 精品久久久久久久久中文字幕 | 免费日韩一区二区三区 | 久久久久久久久久伊人 | 国产在线毛片 | 欧美a免费 | 91久久精品一区二区二区 | 人人看人人艹 | 日韩一区二区免费播放 | 久久图 | 久久综合激情 | 亚洲国产免费av | 麻豆精品在线 | 国产精品嫩草69影院 | 99中文在线 | 91香蕉视频| 久久国产热视频 | 久久国产色 | 欧美一级黄色视屏 | 久久久精品国产免费观看同学 | 日韩国产欧美在线播放 | 狠狠色噜噜狠狠狠 | 国产一卡二卡四卡国 | 亚洲午夜久久久久久久久久久 | 午夜精品久久久久久久久久久久 | 欧美人操人 | 综合网天天射 | 国产黄色片免费观看 | 国产理论免费 | 久久久午夜精品理论片中文字幕 | 青青看片 | 欧美淫视频 | 精品自拍av | 五月婷婷黄色网 | 日本中文在线播放 | 不卡视频国产 | av在线免费播放 | 6080yy精品一区二区三区 | 日韩夜夜爽 | 国产精品久久久久免费观看 | 亚洲精品小区久久久久久 | 亚洲91av| 国产一区二区在线看 | 欧美日本不卡 | 国产伦精品一区二区三区… | 中文字幕 91 | 国产精品99久久久久久久久久久久 | 黄色片毛片 | 日韩v欧美v日本v亚洲v国产v | 黄色一级大片免费看 | 亚洲 欧美 国产 va在线影院 | 欧美极品一区二区三区 | 国产精品久久久免费 | 99精品免费视频 | 一区二区三区手机在线观看 | 欧美精品亚洲精品 | 国产免费不卡 | 中国一级片在线播放 | 一区二区三区免费在线 | 免费看国产视频 | 日韩欧美视频在线播放 | 久久草在线视频国产 | 日韩色在线观看 | 五月天综合在线 | 91人人澡人人爽 | 日韩二三区 | 欧美伦理电影一区二区 | 国产精品一区二区久久国产 | 国产三级久久久 | 成人黄色大片在线免费观看 | 亚洲第一伊人 | 欧美日韩裸体免费视频 | 婷婷综合电影 | 午夜精品福利在线 | 草在线视频 | 亚洲欧美乱综合图片区小说区 | 少妇精69xxtheporn | 欧美乱淫视频 | 精品影院一区二区久久久 | 成人免费视频网站在线观看 | 丁香六月在线 | 中文一二区 | 国产三级av在线 | 久久免费大片 | 91精品国产91久久久久 | 精品一区 在线 | 亚洲视频中文 | 免费观看v片在线观看 | 中午字幕在线 | 国产一级精品在线观看 | 波多野结衣日韩 | 亚洲免费av片| 色播六月天 | 欧美在线观看视频一区二区三区 | 99久久99热这里只有精品 | 久久九九久久精品 | 正在播放一区二区 | 久国产在线播放 | 国产精品久久久久av免费 | 97在线成人 | 成人动态视频 | 四季av综合网站 | 国产精品久久久久久久免费观看 | 又污又黄网站 | 国产裸体视频网站 | 亚洲精品乱码久久久久久蜜桃91 | 国产在线视频一区二区三区 | 天天干,天天射,天天操,天天摸 | 夜夜夜影院 | 日韩精品一区二区三区高清免费 | 色婷婷国产在线 | 色一级片 | 国产在线高清精品 | 久亚洲精品 | 色在线国产 | 色干综合 | 日本性高潮视频 | 中文字幕一区二区三区精华液 | 色多多视频在线 | 国产精品麻豆99久久久久久 | 天天色天天操天天爽 | 国产高清在线不卡 | 99久久99视频只有精品 | 涩涩爱夜夜爱 | 日韩在线三级 | 探花视频免费观看高清视频 | 国产黄色精品在线 | 国产视频一区二区在线 | 91新人在线观看 | 精品国内自产拍在线观看视频 | 国产91精品看黄网站在线观看动漫 | 日本黄色免费在线 | 丁香久久综合 | 狠狠久久伊人 | 免费观看性生交大片3 | 丝袜少妇在线 | 精品网站999www| 亚洲精品资源在线 | 国产精品99久久久久久小说 | 国产一区免费在线观看 | 国产精品久久久久久一二三四五 | 久久免费福利 | 国产免费三级在线观看 | 91麻豆精品国产91久久久使用方法 | 久久激情网站 | 中文字幕国产精品一区二区 | 国产精品美女久久久久久2018 | 中文字幕有码在线 | 国产91在| 国产伦精品一区二区三区在线 | 日韩精品网址 | 欧美一级在线看 | 亚洲精品乱码久久久久久 | 黄色网址国产 | 国产精品毛片一区二区在线 | 草久久久久久久 | 一区二区三区高清 | a色视频 | 精品国产a| 97人人添人澡人人爽超碰动图 | 亚洲成熟女人毛片在线 | 一级片视频免费观看 | 伊人国产在线观看 | 成片免费观看视频999 | 日韩色在线观看 | 欧美在线视频一区二区三区 | av免费在线免费观看 | 国产精品av在线免费观看 | 久久男人视频 | 日本在线中文 | 一区二区三区在线免费 | 狠狠色综合欧美激情 | 亚洲综合五月天 | 亚洲国产三级在线观看 | 欧美精品在线观看免费 | 久久99热精品 | 成人黄色在线观看视频 | 久久99精品热在线观看 | 99热在线观看 | 日韩va在线观看 | 久久精品美女视频 | 日本 在线 视频 中文 有码 | 午夜精品999 | 国产一区视频在线 | 999久久久| 美国人与动物xxxx | 午夜精品一区二区三区在线视频 | 日韩在线观看视频在线 | 久草在线费播放视频 | www.天天射.com | 91av色| 欧美二区三区91 | 狠狠操夜夜 | 国产黄色免费在线观看 | 午夜三级福利 | 亚洲污视频| 久草综合在线 | 久久免费视频在线观看30 | 精品中文字幕在线 | 六月丁香综合 | 免费av在线网站 | 久久亚洲私人国产精品va | 国产精品久一 | 日韩电影中文,亚洲精品乱码 | 精品久久一二三区 | 日本一区二区三区视频在线播放 | 视频高清 | 在线观看免费国产小视频 | 精品视频免费 | 国产在线 一区二区三区 | 国产成人在线网站 | 婷婷在线色 | 国产在线高清视频 | 中文av免费 | 91伊人影院 | 久久久久久久久久网 |