国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Springboot+Security+Cas整合

共 11045字,需瀏覽 23分鐘

 ·

2020-10-20 13:42

點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”

優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

66套java從入門到精通實(shí)戰(zhàn)課程分享

我的整合是基于Springboot 2.0版本? +? Cas 5.X版本

獲取的用戶信息,需要自己在Cas的服務(wù)端進(jìn)行設(shè)置用戶信息的返回內(nèi)容

CAS默認(rèn)只回顯用戶名?

一、pom.xml文件,加入以下內(nèi)容



????org.jasig.cas.client
????cas-client-core
????3.5.0



????org.springframework.security
????spring-security-cas



????org.springframework.security
????spring-security-taglibs

二、application.properties文件,加入以下內(nèi)容

#CAS服務(wù)地址?
security.cas.server.host.url=http://XXXXX/cas?
#CAS服務(wù)登錄地址?
security.cas.server.host.login_url=${security.cas.server.host.url}/login?
#CAS服務(wù)登出地址?
security.cas.server.host.logout_url=${security.cas.server.host.url}/logout?service=${security.app.server.host.url}
#應(yīng)用訪問地址?
security.app.server.host.url=http://localhost:8080
#應(yīng)用登錄地址
security.app.login.url=/user/login
#應(yīng)用登出地址?
security.app.logout.url=/logout?

三、security配置文件SecurityConfig,項(xiàng)目啟動(dòng)的時(shí)候執(zhí)行,初始化security和cas的設(shè)置

import?org.XXX.service.CustomUserDetailsService;
import?org.jasig.cas.client.session.SingleSignOutFilter;
import?org.jasig.cas.client.validation.Cas20ServiceTicketValidator;
import?org.jasig.cas.client.validation.Cas30ServiceTicketValidator;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.context.annotation.Bean;
import?org.springframework.context.annotation.Configuration;
import?org.springframework.security.cas.ServiceProperties;
import?org.springframework.security.cas.authentication.CasAssertionAuthenticationToken;
import?org.springframework.security.cas.authentication.CasAuthenticationProvider;
import?org.springframework.security.cas.web.CasAuthenticationEntryPoint;
import?org.springframework.security.cas.web.CasAuthenticationFilter;
import?org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import?org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import?org.springframework.security.config.annotation.web.builders.HttpSecurity;
import?org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import?org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import?org.springframework.security.core.userdetails.AuthenticationUserDetailsService;
import?org.springframework.security.web.authentication.logout.LogoutFilter;
import?org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
?
?
/**
?*?Security的配置
?*/?
@Configuration
@EnableWebSecurity?//啟用web權(quán)限
@EnableGlobalMethodSecurity(prePostEnabled?=?true)?//啟用方法驗(yàn)證
public?class?SecurityConfig?extends?WebSecurityConfigurerAdapter?{
?@Autowired
?private?CasProperties?casProperties;
?
?/**定義認(rèn)證用戶信息獲取來源,密碼校驗(yàn)規(guī)則等*/
?@Override
?protected?void?configure(AuthenticationManagerBuilder?auth)?throws?Exception?{
??super.configure(auth);
??auth.authenticationProvider(casAuthenticationProvider());
?}
?
?/**定義安全策略*/
?@Override
?protected?void?configure(HttpSecurity?http)?throws?Exception?{
????????????????http.csrf().and()
????????????????.headers()
????????????????.frameOptions().sameOrigin()
????????????????.xssProtection()
????????????????.block(true)
????????????????.and();
?
??http
????????????????.headers()
????????????????.cacheControl()
????????????????.and()
????????????????.contentTypeOptions()
????????????????.and()
????????????????.httpStrictTransportSecurity()
????????????????.and()
????????????????.xssProtection();
?
??http.authorizeRequests()//配置安全策略
???.antMatchers("/","/home/**","/seach/**","/user/**").permitAll()//定義/請(qǐng)求不需要驗(yàn)證
???.antMatchers("/login/**").authenticated()//login下請(qǐng)求需要驗(yàn)證
???.and()
??.logout()
???.permitAll()//定義logout不需要驗(yàn)證
???.and()
??.formLogin();//使用form表單登錄
??
??http.exceptionHandling().authenticationEntryPoint(casAuthenticationEntryPoint())
???.and()
???.addFilter(casAuthenticationFilter())
???.addFilterBefore(casLogoutFilter(),?LogoutFilter.class)
???.addFilterBefore(singleSignOutFilter(),?CasAuthenticationFilter.class);
??
??//http.csrf().disable();?//禁用CSRF
????????????????http.csrf().ignoringAntMatchers("/api/**");
??
?}
?
?/**指定service相關(guān)信息*/
?@Bean
?public?ServiceProperties?serviceProperties()?{
??ServiceProperties?serviceProperties?=?new?ServiceProperties();
??serviceProperties.setService(casProperties.getAppServerUrl()?+?casProperties.getAppLoginUrl());
??serviceProperties.setAuthenticateAllArtifacts(true);
??return?serviceProperties;
?}
?
?/**認(rèn)證的入口*/
?@Bean
?public?CasAuthenticationEntryPoint?casAuthenticationEntryPoint()?{
??CasAuthenticationEntryPoint?casAuthenticationEntryPoint?=?new?CasAuthenticationEntryPoint();
??casAuthenticationEntryPoint.setLoginUrl(casProperties.getCasServerLoginUrl());
??casAuthenticationEntryPoint.setServiceProperties(serviceProperties());
??return?casAuthenticationEntryPoint;
?}
?
?/**CAS認(rèn)證過濾器*/
?@Bean
?public?CasAuthenticationFilter?casAuthenticationFilter()?throws?Exception?{
??CasAuthenticationFilter?casAuthenticationFilter?=?new?CasAuthenticationFilter();
??casAuthenticationFilter.setAuthenticationManager(authenticationManager());
??casAuthenticationFilter.setFilterProcessesUrl(casProperties.getAppLoginUrl());
??return?casAuthenticationFilter;
?}
?
?@Bean
?public?Cas30ServiceTicketValidator?cas30ServiceTicketValidator()?{
??return?new?Cas30ServiceTicketValidator(casProperties.getCasServerUrl());
?}
?
?/**cas?認(rèn)證?Provider*/
?@Bean
?public?CasAuthenticationProvider?casAuthenticationProvider()?{
??CasAuthenticationProvider?casAuthenticationProvider?=?new?CasAuthenticationProvider();
??casAuthenticationProvider.setAuthenticationUserDetailsService(customUserDetailsService());
??//casAuthenticationProvider.setUserDetailsService(customUserDetailsService());?//這里只是接口類型,實(shí)現(xiàn)的接口不一樣,都可以的。
??casAuthenticationProvider.setServiceProperties(serviceProperties());
??casAuthenticationProvider.setTicketValidator(cas30ServiceTicketValidator());
??casAuthenticationProvider.setKey("casAuthenticationProviderKey");
??return?casAuthenticationProvider;
?}
?
?/**用戶自定義的AuthenticationUserDetailsService*/
?@Bean
?public?AuthenticationUserDetailsService?customUserDetailsService(){
??return?new?CustomUserDetailsService();
?}
?
?/**單點(diǎn)登出過濾器*/
?@Bean
?public?SingleSignOutFilter?singleSignOutFilter()?{
??SingleSignOutFilter?singleSignOutFilter?=?new?SingleSignOutFilter();
??singleSignOutFilter.setCasServerUrlPrefix(casProperties.getCasServerUrl());
??singleSignOutFilter.setIgnoreInitConfiguration(true);
??return?singleSignOutFilter;
?}
?
?/**請(qǐng)求單點(diǎn)退出過濾器*/
?@Bean
?public?LogoutFilter?casLogoutFilter()?{
??LogoutFilter?logoutFilter?=?new?LogoutFilter(casProperties.getCasServerLogoutUrl(),?new?SecurityContextLogoutHandler());
??logoutFilter.setFilterProcessesUrl(casProperties.getAppLogoutUrl());
??return?logoutFilter;
?}
}

這里service里設(shè)置的路徑是 http://localhost:8080/user/login ,保證這個(gè)路徑能正常返回,登陸成功后才能正常返回ticket,執(zhí)行后面的CustomUserDetailsService類中的loadUserDetails方法。?

四、CasProperties類,用于將properties文件指定的內(nèi)容注入以方便使用

import?org.springframework.beans.factory.annotation.Value;
import?org.springframework.stereotype.Component;
?
/**
?*?CAS的配置參數(shù)
?*/
@Component
public?class?CasProperties?{
?
????????@Value("${security.cas.server.host.url}")
????????private?String?casServerUrl;
?
????????@Value("${security.cas.server.host.login_url}")
????????private?String?casServerLoginUrl;
?
????????@Value("${security.cas.server.host.logout_url}")
????????private?String?casServerLogoutUrl;
?
????????@Value("${security.app.server.host.url}")
????????private?String?appServerUrl;
?
????????@Value("${security.app.login.url}")
????????private?String?appLoginUrl;
?
????????@Value("${security.app.logout.url}")
????????private?String?appLogoutUrl;
?
?public?String?getCasServerUrl()?{
??return?casServerUrl;
?}
?
?public?void?setCasServerUrl(String?casServerUrl)?{
??this.casServerUrl?=?casServerUrl;
?}
?
?public?String?getCasServerLoginUrl()?{
??return?casServerLoginUrl;
?}
?
?public?void?setCasServerLoginUrl(String?casServerLoginUrl)?{
??this.casServerLoginUrl?=?casServerLoginUrl;
?}
?
?public?String?getCasServerLogoutUrl()?{
??return?casServerLogoutUrl;
?}
?
?public?void?setCasServerLogoutUrl(String?casServerLogoutUrl)?{
??this.casServerLogoutUrl?=?casServerLogoutUrl;
?}
?
?public?String?getAppServerUrl()?{
??return?appServerUrl;
?}
?
?public?void?setAppServerUrl(String?appServerUrl)?{
??this.appServerUrl?=?appServerUrl;
?}
?
?public?String?getAppLoginUrl()?{
??return?appLoginUrl;
?}
?
?public?void?setAppLoginUrl(String?appLoginUrl)?{
??this.appLoginUrl?=?appLoginUrl;
?}
?
?public?String?getAppLogoutUrl()?{
??return?appLogoutUrl;
?}
?
?public?void?setAppLogoutUrl(String?appLogoutUrl)?{
??this.appLogoutUrl?=?appLogoutUrl;
?}
?
}

五、定義CustomUserDetailsService類

import?java.util.HashSet;
import?java.util.Map;
import?java.util.Set;
?
import?org.XXX.entity.AuthorityInfo;
import?org.XXX.entity.UserInfo;
import?org.springframework.security.cas.authentication.CasAssertionAuthenticationToken;
import?org.springframework.security.core.userdetails.AuthenticationUserDetailsService;
import?org.springframework.security.core.userdetails.UserDetails;
import?org.springframework.security.core.userdetails.UsernameNotFoundException;
import?org.springframework.stereotype.Service;
?
/**
?*?用于加載用戶信息?實(shí)現(xiàn)UserDetailsService接口,或者實(shí)現(xiàn)AuthenticationUserDetailsService接口
?*/
@Service
public?class?CustomUserDetailsService?implements?AuthenticationUserDetailsService?{???????????
????@Override
????public?UserDetails?loadUserDetails(CasAssertionAuthenticationToken?token)?throws?UsernameNotFoundException?{
????????????????//?結(jié)合具體的邏輯去實(shí)現(xiàn)用戶認(rèn)證,并返回繼承UserDetails的用戶對(duì)象;
??System.out.println("當(dāng)前的用戶名是:"+token.getName());
??
??//獲取用戶信息
??UserInfo?userInfo?=?new?UserInfo();
??userInfo.setUsername(token.getName());
??userInfo.setRole("ROLE_USER");
??Map?userAttributess?=?token.getAssertion().getPrincipal().getAttributes();
??//System.out.println(userAttributess.toString());
??if?(userAttributess?!=?null)?{
???userInfo.setId(?String.valueOf(userAttributess.get("id")));
???userInfo.setNickname(?String.valueOf(userAttributess.get("nickname")));
???userInfo.setRealName(?String.valueOf(userAttributess.get("real_name")));
???userInfo.setEmail(?String.valueOf(userAttributess.get("email")));
???userInfo.setCountryCode(?String.valueOf(userAttributess.get("country_code")));
??}
??
??System.out.println(userInfo.toString());
????????????????return?userInfo;
????}
?
}

六、定義UserInfo類,用于加載當(dāng)前用戶信息,實(shí)現(xiàn)UserDetails接口

import?java.util.Collection;
import?java.util.HashSet;
import?java.util.Set;
?
import?org.springframework.security.core.GrantedAuthority;
import?org.springframework.security.core.authority.AuthorityUtils;
import?org.springframework.security.core.userdetails.UserDetails;
?
/**
?*?用戶信息
?*/
public?class?UserInfo?extends?User?implements?UserDetails?{
?private?static?final?long?serialVersionUID?=?-1041327031937199938L;
?
????????private?String?id;
????????private?String?username;
????????private?String?email;
????????private?String?countryCode;
????????private?String?mobile;
????????private?String?nickname;
????????private?String?role;
????????private?String?realName;
????
????????private?String?password;
????
?private?boolean?isAccountNonExpired?=?true;?//是否過期
?
?private?boolean?isAccountNonLocked?=?true;//賬戶未鎖定為true
?
?private?boolean?isCredentialsNonExpired?=?true;//證書不過期為true
?
?private?boolean?isEnabled?=?true;//是否可用
?
????????@Override
????????public?Collection?getAuthorities()?{
????????????if(this.getRole()?==?null?||?this.getRole().length()?<1){
????????????????return?AuthorityUtils.commaSeparatedStringToAuthorityList("");
????????????}
????????????else{
????????????????return?AuthorityUtils.commaSeparatedStringToAuthorityList(this.getRole());
????????????}
????????}
?
?
?public?String?getId()?{
??return?id;
?}
?
?
?public?void?setId(String?id)?{
??this.id?=?id;
?}
?
?
?public?String?getUsername()?{
??return?username;
?}
?
?
?public?void?setUsername(String?username)?{
??this.username?=?username;
?}
?
?
?public?String?getEmail()?{
??return?email;
?}
?
?
?public?void?setEmail(String?email)?{
??this.email?=?email;
?}
?
?
?public?String?getCountryCode()?{
??return?countryCode;
?}
?
?
?public?void?setCountryCode(String?countryCode)?{
??this.countryCode?=?countryCode;
?}
?
?
?public?String?getMobile()?{
??return?mobile;
?}
?
?
?public?void?setMobile(String?mobile)?{
??this.mobile?=?mobile;
?}
?
?
?public?String?getNickname()?{
??return?nickname;
?}
?
?
?public?void?setNickname(String?nickname)?{
??this.nickname?=?nickname;
?}
?
?
?public?String?getRole()?{
??return?role;
?}
?
?
?public?void?setRole(String?role)?{
??this.role?=?role;
?}
?
?
?public?String?getRealName()?{
??return?realName;
?}
?
?
?public?void?setRealName(String?realName)?{
??this.realName?=?realName;
?}
?
?
?public?String?getPassword()?{
??return?password;
?}
?
?
?public?void?setPassword(String?password)?{
??this.password?=?password;
?}
?
?
?public?boolean?isAccountNonExpired()?{
??return?isAccountNonExpired;
?}
?
?
?public?void?setAccountNonExpired(boolean?isAccountNonExpired)?{
??this.isAccountNonExpired?=?isAccountNonExpired;
?}
?
?
?public?boolean?isAccountNonLocked()?{
??return?isAccountNonLocked;
?}
?
?
?public?void?setAccountNonLocked(boolean?isAccountNonLocked)?{
??this.isAccountNonLocked?=?isAccountNonLocked;
?}
?
?
?public?boolean?isCredentialsNonExpired()?{
??return?isCredentialsNonExpired;
?}
?
?
?public?void?setCredentialsNonExpired(boolean?isCredentialsNonExpired)?{
??this.isCredentialsNonExpired?=?isCredentialsNonExpired;
?}
?
?
?public?boolean?isEnabled()?{
??return?isEnabled;
?}
?
?
?public?void?setEnabled(boolean?isEnabled)?{
??this.isEnabled?=?isEnabled;
?}
?
?
?@Override
?public?String?toString()?{
??return?"UserInfo?[id="?+?id?+?",?username="?+?username?+?",?email="?+?email?+?",?countryCode="?+?countryCode
????+?",?mobile="?+?mobile?+?",?nickname="?+?nickname?+?",?role="?+?role?+?",?realName="?+?realName
????+?",?password="?+?password?+?",?isAccountNonExpired="?+?isAccountNonExpired?+?",?isAccountNonLocked="
????+?isAccountNonLocked?+?",?isCredentialsNonExpired="?+?isCredentialsNonExpired?+?",?isEnabled="
????+?isEnabled?+?"]";
?}
?
}

七、啟動(dòng)服務(wù)端,登陸之后,回顯數(shù)據(jù)

UserInfo?[
?id=XXXX,?
?username=XXXX,?
[email protected],?
?countryCode=null,?
?mobile=null,?
?nickname=null,?
?role=ROLE_USER,?
?realName=null,?
?password=null,?
?isAccountNonExpired=true,?
?isAccountNonLocked=true,?
?isCredentialsNonExpired=true,?
?isEnabled=true
]


八、常見錯(cuò)誤(無限重定向 和 401錯(cuò)誤)

https://blog.csdn.net/mushuntaosama/article/details/72763864






版權(quán)聲明:本文為博主原創(chuàng)文章,遵循?CC 4.0 BY-SA?版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

本文鏈接:

https://blog.csdn.net/w_meng_h/article/details/86673630






粉絲福利:108本java從入門到大神精選電子書領(lǐng)取

???

?長按上方鋒哥微信二維碼?2 秒
備注「1234」即可獲取資料以及
可以進(jìn)入java1234官方微信群



感謝點(diǎn)贊支持下哈?

瀏覽 74
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 亚洲精品国产精品国自产在线| 欧美东京热视频| 亚洲特黄| 国产一区二区三区免费视频| 国产精品久久无码| 91大香蕉伊人| 日韩在线国产| 国产成人A∨| 色婷婷天天操天天干| 在线观看黄色小视频| 成人无码区免费A片| 亚洲中文字幕在线视频观看| 夜夜骚av.一区二区三区四区| 一级婬片A片AAAAA毛片| 国产91免费视频| 2015中文字幕黄色视频| 欧美一卡二卡| 久久久久免费视频| 国产精品国产精品国产专区 | 一级a一级a爱片免费视频| 久久久久无码精品国产91福利| 成人无码观看| 久久婷综合| 欧美在线A片| 欧美高清国产| 日本成人中文字幕在线观看 | 操日本老女人| 亚洲天堂精品在线观看| 东京热在线免费观看| 天天做天天爽| 亚洲网站在线播放| jizz日韩| 天天色粽合合合合合合合| 欧美一区二区三区四| 免费无码一区二区三区四区五区| 欧美性爱天天| 懂色av粉嫩AV蜜臀AV| 日本一区二区三区在线观看| 无码人妻一区二区| 无码123| 2018天天干天天操| 最新日韩无码| 老熟妇一区二区三区啪啪| 欧美一级欧美三级在线观看| 中文字幕一区二区三区在线观看 | 18精品爽视频| 五月婷婷中文版| 青娱在线视频| 成人社区视频| 亚欧av无码| 欧美日韩中文| 黄网在线| 搡BBB,搡BBBB,搡BBBB| 精品国产91乱码一区二区三区| 日韩午夜| 第一福利视频| 怡红院男人的天堂| 黄色日逼片| 欧美超碰在线| 久久久亚洲无码精品| 欧美操b| 久久另类TS人妖一区二区| 成人免费黄色片| 婷婷午夜精品久久久久久性色| 欧美成人免费在线| 操亚洲| 国产精品秘国产精品88| 思思热免费视频| 日本日逼网| 欧美日韩免费观看视频| 国产在线你懂得| 国产精品欧美激情| 国产精品一区二区黑人巨大| 色婷婷电影网| 无码男女| 曰韩一级片| 福利视频免费观看| 人人色网站| 99精品一区二区| 超碰997| 亚洲成人电影AV| 西西西444www无码视频| 久草网址| 一级黄片在线| 年轻女教师高潮2| 久久另类TS人妖一区二区免费| 嫩草在线播放| 国产亚洲精品午夜福利巨大软件| 操亚洲| 夜夜骑夜夜撸| 91豆花成人社区| 成人一区在线观看| 国产在线高清| 青草超碰| 亚洲爱| 亚洲激情视频在线观看| 色婷婷亚洲婷婷| 91女人18片女毛片60分钟| 人人操久久| 日本免费高清视频| 中文字幕亚洲在线观看| 成人无码中文字幕| 欧美操逼图| 青青在线| 天天躁狠狠躁夜躁2024| 人妻无码蜜桃视频| 色噜噜在线观看| 大香蕉伊人网视频| 日韩熟妇人妻中文字幕| 99高清国产| 99免费热视频在线| 亚洲成人无码精品| 欧美性高潮| 91人妻人人| 亚洲第一免费视频| 高清AV无码| 7799精品视频| 久久在线视频| 国产亚洲视频完整在线观看| 2012天天夜夜| 成人尤物网站| 大香蕉大香蕉免费网| 国产网站视频| 69久久久久| 日本中文字幕亚洲| 欧美性受XXXX黑人XYX性爽冫| 蜜桃AV在线播放| 日韩成人在线免费观看| 婷婷五月在线视频| 五月天黄色电影| 午夜亚洲国产一区视频网站| 999国产精品视频| 最新中文字幕无码| 亚洲婷婷在线视频| 自拍视频国产| 欧美A片在线| 精品免费国产一区二区三区四区| 久久久久久免费视频| AV无码高清| 久久大香蕉视频| 黄色3A片在线观看| 北条麻妃无码av| 天天做天天日| 亚洲观看黄色网| 欧美aaa视频| 三级片一区二区| AV无码免费观看| 大香蕉A片| 专业操美女视频网站| 手机AV免费| 久久艹骚逼| 97pao| 一级二级三级视频| 精品视频免费观看| 91在线精品一区二区| 婷婷涩嫩草鲁丝久久午夜精品| 成人AV免费| 亚洲女人天堂AV| 操屄在线视频| 日本中文字幕亚洲| 99精品免费| 一级a一级a免费观看免免黄‘/| 久久人人超碰| 国产一区二区波多野结衣| 国产青娱乐在线视频| 懂色av懂色av粉嫩av分享吧 | 色逼综合| 国产精品一级a毛一级a| 综合伊人大香蕉| 一区二区成人免费视频| 五月丁香婷婷综合网| 人妻精品一卡二卡| 99re99热| yw·163.爆乳尤物com| 91网站免费看| 日产无码| 久久国产精品伦子伦| 日韩性无码| 日韩精品无码一区二区三区| 青青草原黄色视频| 国产黄片免费在线观看| 天天爽天天干| 日韩中文字幕一区二区三区| 人人舔人人爱| 国产精品无码免费视频| 亚洲精品第一页| AV电影在线观看| 国产无码在线影院| 男人v天堂| 97AV视频| 欧美日韩高清无码| 麻豆乱婬一区二区三区| 欧美第一网站| 亚洲男同tv| 国产女人高潮的AV毛片| xxxxxbbbbb| 豆花视频成人版www满18| 无码精品人妻一区二区三刘亦菲| 羞羞色院91蜜桃| 午夜爽爽视频| 熟妇熟女一区二区三区| 国产欧美精品一区二区色综合| 欧美色图在线视频| 人人干人| 日韩欧美成人片| 视频在线一区| 一级片A片| 天堂v在线观看| 麻豆91蜜桃传媒在线观看| 五月婷婷六月丁香综合| 天天干天天拍| 国产操女人| 高清无码视频免费看| 亚洲精品国偷拍自产在线观看蜜桃| 亚洲aa| 天天爽夜夜爽夜夜爽精品视频| 四川BBB搡BBB爽爽爽欧美| 国产久久久久久久久| A在线免费观看| 99久久久99久久91熟女| 午夜亚洲AV永久无码精品麻豆 | 杨幂操逼视频| 色欲网址| 一道本AV| 欧美成人黄色小视频| 在线久操| 天天操夜夜操人人操| 日韩人妻无码视频| AV无码资源| 91麻豆一区| 天天色情| 性感成人在线| 欧产日产国产swag| 欧美激情综合网| 九色在线视频| 996精品在线| 少妇厨房愉情理伦BD在线观看 | 日韩a电影| 色aV牛牛在线观看| 免费av观看| 欧美性爱五月天| 日韩国产在线观看| 久久久久久亚洲AV黄床| 成人午夜小视频| 免费看黄色大片| 国产精品3| 日韩在线看片| 欧美午夜成人| 欧美在线观看网站18| 四虎影院色| 99色在线| 国产成人女人在线观看| 四川少妇搡bbw搡bbbb| 性日韩| 性爱免费专区| 51妺嘿嘿午夜福利视频| 91av视频在线| 日韩黄在线| 国产一级二级三级片| 成人AA片| 黄色片免费视频网站| 国产视频高清无码| 九色在线观看| 国产精品一区网站| h片在线免费观看视频| www欧美| 精品乱子伦一区二区三区毛| 91人妻人人澡人人爽人人爽| 一级生活片| 日韩性无码| 国产理论片在线观看| 91工厂露脸熟女| 国产日韩在线播放| 京东一热本色道久久爱| 成人A毛片| 日韩无码系列| 欧美日韩精品一区二区| 伊人综合电影| 亚洲一区二区三区在线播放 | 三级电影久久麻豆| 大香蕉午夜视频| 黄色小视频在线观看| 亚洲国产成人精品午夜| 人人澡超碰碰| 中文字幕无码av| 国产有码在线观看| 躁BBB躁BBB躁BBBBB乃| 欧美日韩狠狠操在线观看视频| 资源av| 操逼网站免费观看| 国产人妻精品一区二区三区不卡| 一级a一级a爰片免费| 免费在线观看黄| 久久都是精品| 国内老熟妇对白HDXXXX| AV青草| 亚洲性爱在线视频| 中文字幕成人在线| 天天操夜夜操狠狠| 国精品伦一区一区三区有限公司| 国际精品久久久| 日韩色在线| 国产亲子乱A片免费视频| 日韩A片免费观看| 麻豆视频在线| 成年人性生活免费视频| 国产传媒_色哟哟| 日韩性爱视频| 精品一区二区三区四| 久草综合视频| 日韩免费看片| 五月天欧美性爱| 欧美激情婷婷| 男女日逼网站| 特级毛片在线观看| 国产精品乱子伦| 91久久国产综合久久91| 国产乱╳╳AⅤ毛片| 91国产爽黄在线| 婷婷五月天免费视频| 亚洲AV无码久久精品色无码蜜桃| 懂色一区二区三区免费| 中国免费XXXX18| 一级黄色A片| 亚洲日韩免费| 成人无码www在线看免费| 特级特黄AAAA免费看| 中文av在线播放| 五月天黄色电影网站| 中国老女人操逼视频| 蜜桃网站视频| V在线| 青青青在线| 91狠狠色丁香婷婷综合久久精品| adn日韩av| 97视频国产| 麻豆一级片| 波多野结衣在线观看一区二区 | 91香蕉国产视频| 成人做爰A片一区二区| 2018中文字幕第一页| 第一色影院| 免费在线观看黄色网址| 亚洲,制服,综合,中文| 日韩AV资源网| 无码精品人妻一区二区三区漫画 | 日韩精品成人无码| 日韩第22页| 乌克兰毛片| 波多野结衣无码AV专区| AV无码网站| 久久久久成人视频| 人人澡人人澡人人澡| 国产无遮挡又黄又爽又色视频软件| 亚洲欧美性爱视频| 韩国成人免费无码免费视频| 亚洲午夜无码| 成人一级黄色电影| 日韩在线视频网站| 大香蕉伊人视频在线观看| 成人毛片18女人毛片| 免费观看亚洲视频| 青青伊人网| 五月激情六月婷婷| 99这里只有精品| 蜜臀久久99精品久久久久久婷婷| 亚洲日本中文字幕| 久久久五月| 韩国GOGOGO高清| 成人免费激情视频| 亚洲色图p| 岛国AV在线播放| 欧美XXXXBBBB| 无码一区二区视频| 中文字幕+乱码+中文字幕一区| 亚洲免费黄色| 欧美色色综合| 欧美操B视频| 国产精品不卡在线| 日韩精品欧美一区二区三区| 日韩AV无码一区二区三区| 成人123区| 高清无码做爱视频| 欧美日韩岛国| 亚洲综合图区| 日本欧美一区二区三区| 伊人网大香蕉| 艹逼视频在线观看| 久久久久国产一区二区三区四区| AAAAA毛片| 爱爱免费视频| 亚洲精品婷婷| 国产又爽又黄免费观看| 国产免费无码| 香蕉视频成人在线| 久久国产热在8| 亚洲无码AV在线播放| 日本色中文字幕| 亚洲黄色无码| 日韩码波多野结衣| 黄色视频在线观看亚洲一区二区三区免费| 青娱乐老视频| 蝌蚪窝免费在线视频| AV三级片在线观看| 中文字幕第一页av| 无码激情| 亚洲免费黄片| 欧洲精品在线视频| 超碰天天干| 影音先锋色AV| 成人国产精品秘在线看| 亚洲无码高清一区| 久久艹精品视频| 亚洲成人精品在线观看| 丁香六月婷婷综合激情欧美| 大香蕉av一区二区三区在线观看 | 免费福利在线观看| 久久精品国产亚洲AV成人婷婷| 亚洲精品国产精品乱码视99 | 国产成人小电影| 久久久91| 尹人在线视频| 亚洲性爱综合| 先锋影音AV资源网| 人妻精品免费| 伊人色色视频| 精品午夜福利| 色琪琪在线视频| 亚洲高清无码视频| 91超碰免费| 蜜臀无码在线| 大香蕉视频在线观看| 高清无码三级片在线观看| 激情乱伦网站| 九九九精彩视频| 中国熟女HD| 加勒比日韩无码| 亚洲欧美一区二区三区在线| 蜜桃传媒一区二区亚洲A| 小佟丽娅大战91哥| 成人无码区免费A片| 一级二级三级毛片| 亚洲AV在线人妻| 狠狠干2021| 懂色av懂色av粉嫩av| 91视频在线| 爱搞搞就要搞搞| 91嫖妓站街按店老熟女| 国产福利视频| 亚洲无码精品久久| 国产黄色片在线播放| 亚洲情免| 二区三区在线| 国产一区一区| 精品国产一区二区三区性色AV| 操逼影片| 九九韩剧网最新电视剧免费观看 | 亚洲国产精品自在自线| 一本色道久久综合无码人妻| 无套内射无码| 久久99精品国产麻豆婷婷洗澡| 五月激情啪啪| 丁香网五月天| 久草a视频| 伊人大香蕉在线观看| 日韩大香蕉视频| 高清在线无码视频| 日韩一级在线观看| 中文字幕无码高清| 亚洲成人不卡| 国产亚洲99久久精品| 亚洲无码视频免费看| 黑人巨粗进入疼哭A片| 中文字幕无码综合| 黄色激情五月天| 337p西西人体大胆瓣开下部| 国产成人精品无码片子的价格| 翔田千里无码精品| 亚洲综合91| 亚洲综合在线播放| 亚洲成人第一网站| 青娱乐亚洲| 日韩高清无码专区| 国产A片电影| 久久系列观看完整指南| 午夜社区| 日韩欧美123| 亚洲AV图片| 水果派解说A∨无码区| 成人无码一区二区| 亚洲美女在线观看| 日本草逼网| 日韩无码人妻一区二区三区| 日本黄色一级视频| 成人福利午夜A片公司| 最新亚洲无码在线观看| 国产无毛| 一级A片60分钟免费看| 亚洲国产激情视频| 欧美视频一| 欧美色伊人| 日本大香蕉视频| 可以免费观看的av| 秋霞丝鲁片一区二区三区手机在绒免 | 亚洲福利电影| 97精品在线视频| 精品国内自产拍在线观看视频 | 婷婷五月天亚洲| 亚洲三级在线视频| 99爱在线| 永久免费不卡在线观看黄网站| 一区二区三区亚洲| 亚洲黄片免费在线观看| 97超碰资源站| 午夜免费福利视频| 操逼片| 日韩一级无码视频| a免费观看| 中文字幕无码观看| 久操手机在线| 欧美一区二区| 日韩高清一区二区| 黄色国产免费| 中文字幕12页| 天天日天天干天天爽| 东京热久久综合色五月老师| 色香蕉视频| 操比网| 欧美熟妇搡BBBB搡BBBBB| 久草三级片| 乱码中文字幕日韩欧美在线| www.狠狠| 97自拍| 欧美囗交大荫蒂免费| 日韩无码a| 婷婷激情中文字幕| 97在线观看视频| 亚洲黄色在线视频| 青娱乐老视频| 五月丁香婷婷基地| 国产丝袜久久| 菊花插综合网| 日韩在线视频免费观看| 夜夜狠狠躁日日躁| 欧美成人精品在线观看| 日日搔AV一区二区三区| 国产在线欧美| 国产变态另类| 一道本在线| 久久精品成人电影| 被黑人猛躁10次高潮视频| 色婷婷小说| 91av一区二区三区| 中国免费毛片| 久久99精品久久久久婷婷| 日韩一区二区视频| 久草新在线| 日韩成人无码专区| 亚洲插菊花综合网| 久久久久久久久久久久高清毛片一级 | 国产精品视频色| 激情婷婷亚洲| 亚洲精品中文字幕在线| 九九热精品视频| 欧美丰满少妇人妻精品| 少妇白洁在线观看| 围内精品久久久久久久久久‘变脸| 尤物网站在线观看| 青青久久91| 91人妻无码视频| Av天堂图片在线| 亚洲欧洲在线视频| 中文在线字幕电视剧免费平台| 无码精品久久| 丁香五月婷婷久久| 日韩欧美黄色电影| 97免费视频在线观看| 国产三级片视频在线观看| 加勒比DVD手机在线播放观看视频 日韩精品一区二区三区四区蜜桃视频 | 亚洲国产精品尤物yw在线观看 | 91在线日韩| 亚洲视频免费在线播放| 国产视频在线免费观看| 国产女人在线视频| 九色蝌蚪9l视频蝌蚪9l视频成人熟妇| 熟妇人妻久久中文字幕| 翔田千里被操120分钟| 波多野结衣网址| 婷婷五月丁香网| 黄色A片在线观看| 色色色热热热| 在线国产中文字幕| 俺去俺来也在线www色情网| 北京熟妇搡BBBB搡BBBB电影 | 成人在线视频播放| 亚洲精品国产精品国自产曰本| 亚洲日韩欧美一区二区| 国产视频在线播放| 国产成人欧美| 成人影视在线免费观看| 欧美色图狠狠干| 91麻豆一区二区| 亚洲日韩中文无码| 日韩av三级在线观看| 国产久久视频| 18禁在线播放| 内射视频在线观看| 成人免费网站| 九九热免费视频| 日韩在线视频免费| 亚洲秘无码一区二区三区蜜桃中文| 欧美黄色三级视频| 蜜桃传媒视频| 国产97在线视频| 囯产精品一区二区三区AV做线 | 麻豆乱婬一区二区三区| 久久免费观看视频| 四虎精品影院| 日韩a片| 精品视频久久久| av午夜福利| 日韩中文字幕高清| 最近中文字幕在线| 99久久婷婷国产综合精品漫| 一区二区三区免费播放| 中文字幕亚洲视频在线观看| 九一成人电影| 黑人大肉棒| 久久无码专区| 日韩日韩日韩日韩日韩| 六十路老熟女码视频| 91大神在线免费观看| 国产夫妻自拍av| 三级99| 一级片电影网站| 嫩BBB搡BBBB搡BBBB| 亚洲视频1区| free性欧美| 亚洲人人妻| 美女裸体视频网站| 99精品欲| 人妻三级| 涩久久久| 免费观看高清无码视频| 国产亚洲99久久精品| 四虎在线观看视频| 亚洲无码1| 欧美第一网站| 中文字幕无码一区二区| 国产乱伦片、| 做aAAAAA免费视频| 中文在线最新版天堂8| 欧美第一网站| 在线成人视频网站大香蕉在线网站 | 久久高清免费视频| 做爱网站| 成人无码视频| 亚洲在线视频| 午夜撸一撸| 欧美日本成人网站入口| 奶大丰满一乱一视频一区二区三区在| 丝瓜视频污APP| 三级AV在线免费观看| 欧美熟女性爱| 国产乱码精品一区二区三区的特点| 人人操人人爽人人爱| 天堂vs亚洲| 一级黄色影院| 黄色成人网站大全| 青青操青青干| 亚洲精品黄色电影| 亚洲婷婷在线视频| 免费观看一级毛一片| A级片网站| 久久免费视频6| 777777国产7777777| 成人午夜福利视频| 嫰BBB槡BBBB槡BBBB| 亚洲秘无码一区二区三区蜜桃中文| 伊人小视频| 91欧美视频| 日皮视频免费| 国产成人AV在线| 欧美日屄| 激情婷婷 | 操逼视频网| ⅴA日本成人| 青娱乐偷窥成| 亚洲无码1| 日日擼夜夜擼| 99热这里只有精品999| www,久久久| 一个人看的www日本高清视频| 乱子伦国产精品视频一级毛 | 大香蕉大香蕉网| 人妻天天操| 91久久爱| 熟女91视频| 人人爽人人澡| 日韩视频免费在线观看| 亚洲一级黄色电影| 欧美footjob高跟脚交| 人妻无码一区二区三区免费| 夜夜夜久久久| 骚BBBB槡BBB槡BBB| 日韩性爱在线视频| 人妻精品免费| 欧美特大黄| A片在线观看免费| 四虎高清无码| 中文字幕亞洲高清手機版第617| 一本一道久久a久久精品蜜桃| 国产日韩欧美| 婷婷激情丁香五月天| 成人毛片在线大全免费| 男女一区二区三区| 好男人WWW社区在线视频夜恋| 国产乱子伦一区二区三区在线观看 | 妖精视频黄色| 伊人网视频在线播放| 91色色色色| 欧美熟女在线| 欧美一级视频在线观看| 国产精品夜夜爽7777777| 97A片在线观看播放| 中文字幕在线观看视频www| 北条麻妃无码在线| 精品国产乱子伦一区二区三区,小小扐 | 3D动漫啪啪精品一区二区中文字幕 | 台湾成人综合网| 日韩视频免费| 久久久久久国产精品| 天天干强奸视频在线综合| 日韩黄色视频在线观看| 婷婷亚洲国产| www高清无码| 亚洲国产熟妇无码日韩| 97超碰在| 青青草手机视频| 免费一级无码婬片A片AAA毛片 | 不卡一二三区| 日韩无码A级片| 四川少BBB搡BBB爽爽爽| 久久久久一区| www.日韩欧美| 精品国产久久久| 久久午夜无码鲁丝片午夜精品偷窥 | 欧美a级视频| 成人精品免费| 久久精品亚洲| 日韩电影免费在线观看| 大香蕉伊人视频在线观看| 无码水蜜桃一区二区| 韩国精品在线| 97在线免费视频| 成人视频18| 69堂在线观看| 欧美色色综合| 亚洲成人无码网站| 超碰天天爱| 欧美日韩国产一区| 男人午夜AV| 婷婷精品秘进入| 国产精品成人在线视频| 国产精品无码免费视频| 影音先锋资源站| 狠狠躁日日躁夜夜躁A片无码视频| 欧美黄色激情视频网站| 日欧视频| 国产迷奸在线| 亚洲无码69| 日韩一区二| 香蕉国产2023| 色午夜| 国产操屄视频| 国产精品久久久久久久久久二区三区 | 伊人网大香| 亚洲日韩精品在线观看| 91香蕉视频在线看| 91精品久久久久久久久| 天天干免费视频| 日本操鸡小视频| 影音先锋aV成人无码电影| 黑人狂躁女人高潮视频| 欧美怡红院视频| 少妇一区二区三区| 超碰97在线免费| 一级AV在线| 国产免看一级a一片成人aⅴ| 久久久亚洲无码| 在线亚洲欧美| 乱伦内射视频| 在线免费亚洲视频| www.骚逼| 国产在线观看AV| 俺去俺来也www色官网黑人| 欧美三级性爱视频| 无码国产精品一区二区| 逼逼网| 182AV| 婷婷丁香人妻天天爽| av大香蕉| 中文字幕无码日韩| 国产视频不卡| 日本亲子乱婬一级A片| www.黄色大片| 久久国产热在8| 欧美a在线| 伊人五月天激情| 国产日韩欧美一区二区| 91中文字幕网| 国产麻豆精品ThePorn| www.大鸡巴| 高潮喷水视频| a天堂在线| 国产精品可站18| 国产精品久久久久久久久免费无码| 91成人一区二区三区| 天堂网av2014| 亚洲图片中文字幕| 伊人五月婷婷| 黄色成人视频在线观看| 国产高清自拍视频| 小h片| AA级黄色视频| 亚洲在线免费| 久久精品国产99精品国产亚洲性色 | 亚洲精品一区二区三| 日本黄色视频网| 日本中文字幕视频| 亚洲一级一级黄色| 成年人视频在线观看免费| 国产女人免费| 日韩乱伦毛片| 日本黄色免费网站| 一区在线观看视频| 小h片| 九九九九九精品| 爆操无码| 女人高潮天天躁夜夜躁| 99在线精品视频| 婷婷久久久久| 五月天亚洲色图| 中文字幕中文| 操屄视频免费观看| 青青草人人| 六月婷| 欧美色图15P| 在线观看黄色AV| 综合天天| 国产精品av在线播放| 日韩无码流出| 99大香蕉视频| 蜜桃秘一二三区最新| 日韩黄色毛片| 在线a视频| 91av视频在线| 777无码| 草草影院国产第一页| 成人免费操| 欧美一区二区精品| 韩国三级无码| 38D蜜桃臀| 天堂国产| 99re视频在线播放| 木下凛凛子AV888AV在线观看| 91久久综合亚洲鲁鲁五月天| 一级黄色免费视频| 91香蕉网站| 日日撸视频| 中文字幕视频一区日日骚| 五月天亭亭.com| 日韩黄色中文字幕| 欧美福利视频| www.bbbb| 蜜桃免费视频| 一级A黄色片| 日韩熟妇无码中文字幕| 一区二区三区中文字幕| 国产毛片基地| 黑人无码在线| 欧美在线黄色| 天堂中文在线视频| 成人午夜免费视频| 九九国产视频| 中文字幕第二页| 日韩AV无码一区二区三区| 久久久久麻豆V国产精华液好用吗 色噜噜狠狠一区二区三区牛牛影视 | 日韩性爱视屏| 丰满人妻一区二区三区视频在线不卡| 亚洲秘无码一区二区三区观看| 安徽妇女BBBWBBBwm| 西西特级无码444www| 日本爱爱免费视频| 欧美国产日韩在线| 精品人妻一区二区蜜桃视频| 艹逼国产| 成人性生活片| 日韩性爱A片| 欧美亚洲日韩在线观看|