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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring Security 初体验

發布時間:2024/3/24 javascript 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Security 初体验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring Security 初體驗

①認證過濾器(登錄)
用于接收前端用戶登錄信息(username和password)與數據庫用戶信息(通過UserDetailsService查詢)就行判斷。
UserDetailsService:查詢存在用戶信息返回SecurityUser對象,否則拋出異常。
JWTPasswordHandler:判斷密碼是否正確。

/*** @author XS* @Version v1.0* @ClassName: 認證過濾器* @Description:* @Date: 2022/2/1 18:44*/ @Slf4j public class JWTAuthenticationFilter extends UsernamePasswordAuthenticationFilter {private final AuthenticationManager authenticationManager;private RedisTemplate redisTemplate;public JWTAuthenticationFilter(AuthenticationManager authenticationManager, RedisTemplate redisTemplate) {this.authenticationManager = authenticationManager;this.redisTemplate = redisTemplate;this.setPostOnly(false);//設置登錄url和請求方式this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/member/rbac/login", "POST"));}/*** @description: 接收認證信息* @author: XS* @date: 2022/2/13*/@Overridepublic Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {try {//前端用戶登錄信息User user = new ObjectMapper().readValue(request.getInputStream(), User.class);return authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(user.getUsername(), user.getPassword()));} catch (IOException e) {throw new RuntimeException(e);}}/*** @description: 登錄成功* @author: XS* @date: 2022/2/10*/@Overrideprotected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult) throws IOException, ServletException {//獲取安全框架用戶(UserDetailsServiceImpl查到的)SecurityUser securityUser = (SecurityUser) authResult.getPrincipal();//生成tokenString token = JWTTokenHandler.createToken(securityUser.getCurrentUserInfo().getId(), securityUser.getCurrentUserInfo().getUsername(), securityUser.getPermissionValueList());log.info("login success,Token:" + token);//返回結果給前端HashMap<String, String> login = new HashMap<>();login.put("token", token);Result<HashMap<String, String>> ok = Result.OK(login);response.setContentType("text/html;charset=utf-8");response.getWriter().write(new ObjectMapper().writeValueAsString(ok));//存入redisredisTemplate.opsForValue().set(securityUser.getCurrentUserInfo().getUsername(), token);}/*** @description: 登錄失敗* @author: XS* @date: 2022/2/10*/@Overrideprotected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed) throws IOException, ServletException {log.info("login failure,Error:" + failed.toString());Result<Object> error = Result.error("登錄失敗");response.setContentType("text/html;charset=utf-8");response.getWriter().write(new ObjectMapper().writeValueAsString(error));} }

②授權過濾器(分配角色)
每次請求,判斷是否帶有token,如果存在則根據token得到用戶角色,并在全局安全框架上下文設置用戶角色。不存在則直接進入過濾(沒角色)。

/*** @author XS* @Version v1.0* @ClassName: 授權過濾器* @Description:* @Date: 2022/2/1 18:44*/ public class JWTAuthorizationFilter extends BasicAuthenticationFilter {public JWTAuthorizationFilter(AuthenticationManager authenticationManager) {super(authenticationManager);}@Overrideprotected void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain chain) throws IOException, ServletException {logger.info("request uri:" + request.getRequestURI());String token = request.getHeader(SecurityConstants.TOKEN_HEADER);// 如果請求頭中沒有Authorization信息則直接放行了if (StringUtils.isEmpty(token)) {logger.warn("X-Token: not exist!");SecurityContextHolder.clearContext();chain.doFilter(request, response);return;}logger.info("X-Token:" + token);// 如果請求頭中有token,則進行解析,并且設置授權信息(設置角色)//請求頭中有 token 并且 token 的格式正確,則進行解析并判斷 token 的有效性,然后會在 Spring Security 全局設置授權信息SecurityContextHolder.getContext().setAuthentication(getAuthentication(token));System.out.println(SecurityContextHolder.getContext());super.doFilterInternal(request, response, chain);}private UsernamePasswordAuthenticationToken getAuthentication(String token) {try {// 通過 token 獲取用戶具有的角色String username = JWTTokenHandler.getUsernameByToken(token);List<String> roles = JWTTokenHandler.getRolesByToken(token);//封裝List<SimpleGrantedAuthority>if (Objects.requireNonNull(roles).size() > 0) {List<SimpleGrantedAuthority> authorities = roles.stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList());return new UsernamePasswordAuthenticationToken(username, token, authorities);}} catch (ExpiredJwtException exception) {logger.error("Request to parse JWT with invalid signature . Detail : " + exception.getMessage());}return null;} }

③實體類
SecurityUser:安全框架實體類
User:前端用戶登錄信息類

/*** @author XS* @Version v1.0* @ClassName: SecurityUser* @Description:* @Date: 2022/2/1 16:13*/ @Data @Slf4j public class SecurityUser implements UserDetails {//當前登錄用戶private transient User currentUserInfo;//當前權限private List<String> permissionValueList;@Overridepublic Collection<? extends GrantedAuthority> getAuthorities() {return null;}@Overridepublic String getPassword() {return currentUserInfo.getPassword();}@Overridepublic String getUsername() {return currentUserInfo.getUsername();}@Overridepublic boolean isAccountNonExpired() {return true;}@Overridepublic boolean isAccountNonLocked() {return true;}@Overridepublic boolean isCredentialsNonExpired() {return true;}@Overridepublic boolean isEnabled() {return true;} } /*** @description: 前端用戶登錄信息* @author: XS* @date: 2022/2/17*/ @Data @ApiModel(description = "用戶實體類") public class User implements Serializable {private String id;private String username; // 不要改屬性名private String password; // 不要改屬性名private String salt;private String token; }

④處理類
JWTLogoutHandler:登出處理類(登出成功后處理)
JWTPasswordHandler:密碼處理類(密碼加密和密碼比較)
JWTTokenHandler:token處理類(生成token和通過token獲取用戶信息)

/*** @author XS* @Version v1.0* @ClassName: LogoutHandler* @Description:* @Date: 2022/2/1 16:07*/ @Slf4j public class JWTLogoutHandler implements LogoutSuccessHandler {private RedisTemplate redisTemplate;public JWTLogoutHandler(RedisTemplate redisTemplate) {this.redisTemplate = redisTemplate;}@Overridepublic void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {String token = request.getHeader(SecurityConstants.TOKEN_HEADER);if (token != null) {//清空當前用戶緩存中的權限數據String username = JWTTokenHandler.getUsernameByToken(token);redisTemplate.delete(username);}log.info("logout success");Result<String> logout = Result.OK("logout success");response.setContentType("text/html;charset=utf-8");try {response.getWriter().write(new ObjectMapper().writeValueAsString(logout));} catch (IOException e) {e.printStackTrace();}} } /*** @author XS* @Version v1.0* @ClassName: PasswordHandler* @Description:* @Date: 2022/2/1 15:31*/ @Slf4j public class JWTPasswordHandler implements PasswordEncoder {@Overridepublic String encode(CharSequence originalPassword) { // 密碼加密return SecureUtil.md5(originalPassword.toString());}@Overridepublic boolean matches(CharSequence originalPassword, String encodedPassword) { // 密碼加密比較return originalPassword.equals(encodedPassword);//return SecureUtil.md5(originalPassword.toString()).equals(encodedPassword); //加密后比較目前沒加密} } /*** @author ASUS* @Version v1.0* @ClassName: JWTTokenHandler* @Description:* @Date: 2022/2/1 16:00*/ public class JWTTokenHandler {public static String createToken(String id, String username, List<String> roles) {String JwtToken = Jwts.builder().setHeaderParam("typ", "JWT").setHeaderParam("alg", "HS256").setSubject("zqy-user").setIssuedAt(new Date()).setExpiration(new Date(System.currentTimeMillis() + SecurityConstants.EXPIRE)).claim("id", id).claim("username", username).claim("roles", roles).signWith(SignatureAlgorithm.HS256, SecurityConstants.JWT_SECRET_KEY).compact();return JwtToken;}/*** 根據token獲取用戶Username** @param token* @return*/public static String getUsernameByToken(String token) {if (StringUtils.isEmpty(token)) return "";Jws<Claims> claimsJws = Jwts.parser().setSigningKey(SecurityConstants.JWT_SECRET_KEY).parseClaimsJws(token);Claims claims = claimsJws.getBody();return (String) claims.get("username");}/*** 根據token獲取用戶id** @param jwtToken* @return*/public static String getUserIdByToken(String jwtToken) {if (StringUtils.isEmpty(jwtToken)) return "";Jws<Claims> claimsJws = Jwts.parser().setSigningKey(SecurityConstants.JWT_SECRET_KEY).parseClaimsJws(jwtToken);Claims claims = claimsJws.getBody();return (String) claims.get("id");}/*** 根據token獲取用戶roles** @param jwtToken* @return*/public static List<String> getRolesByToken(String jwtToken) {if (StringUtils.isEmpty(jwtToken)) return null;Jws<Claims> claimsJws = Jwts.parser().setSigningKey(SecurityConstants.JWT_SECRET_KEY).parseClaimsJws(jwtToken);Claims claims = claimsJws.getBody();return (List<String>) claims.get("roles");} }

⑤認證詳情服務類(數據庫查詢用戶信息)

/*** @description: 認證詳情(數據庫查詢)* @author: XS* @date: 2022/2/17*/ @Service public class UserDetailsServiceImpl implements UserDetailsService {@Resourceprivate SysUserService sysUserService;@Resourceprivate SysRoleService sysRoleService;@Resourceprivate UserRoleService userRoleService;/**** 根據賬號獲取用戶信息* @param username:* @return: org.springframework.security.core.userdetails.UserDetails*/@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {// 從數據庫中取出用戶信息SysUser sysUser = sysUserService.selectByUsername(username);// 判斷用戶是否存在if (sysUser == null) {throw new UsernameNotFoundException("用戶不存在!");}// 當前用戶User curUser = new User();BeanUtils.copyProperties(sysUser, curUser);//查詢用戶角色List<UserRole> userRoleList = userRoleService.getUserRoleByUserId(curUser.getId());List<String> roleIdList = userRoleList.stream().map(UserRole::getRoleId).collect(Collectors.toList());List<SysRole> sysRoles = sysRoleService.listByIds(roleIdList);List<String> authorities = sysRoles.stream().map(sysRole -> "ROLE_" + sysRole.getRoleCode()).collect(Collectors.toList());SecurityUser securityUser = new SecurityUser();//設置當前用戶securityUser.setCurrentUserInfo(curUser);//設置當前權限(角色)securityUser.setPermissionValueList(authorities);return securityUser;} }

⑥常量類

/*** @author XS* @description Spring Security相關配置常量*/ public final class SecurityConstants {/*** @description: token過期時間* @author: XS* @date: 2022/2/13*/public static final long EXPIRE = 1000 * 60 * 60 * 24; //存在時間/*** rememberMe 為 false 的時候過期時間是1個小時*/public static final long EXPIRATION = 60 * 60L;/*** rememberMe 為 true 的時候過期時間是7天*/public static final long EXPIRATION_REMEMBER = 60 * 60 * 24 * 7L;/*** JWT簽名密鑰硬編碼到應用程序代碼中,應該存放在環境變量或.properties文件中。*/public static final String JWT_SECRET_KEY = "C*F-JaNdRgUkXn2r5u8x/A?D(G+KbPeShVmYq3s6v9y$B&E)H@McQfTjWnZr4u7w";// 前端token頭public static final String TOKEN_HEADER = "X-Token";// 資源白名單public static final String[] RESOURCE_WHITELIST = {"/swagger-ui.html","/swagger-ui/*","/swagger-resources/**","/v2/api-docs","/v3/api-docs","/webjars/**",//knife4j"/doc.html",};public static final String H2_CONSOLE = "/h2-console/**";// 認證白名單(不用登錄也能訪問的接口)public static final String[] AUTHENTICATION_WHITELIST = {"/member/rbac/login","/member/rbac/logout","/member/rbac/register",};//授權白名單(沒有權限也能訪問的接口)public static final String[] AUTHORIZATION_WHITELIST = {//TODO};private SecurityConstants() {}}

⑦核心配置類(將上面自定義的類進行配置)

/*** @author XS* @Version v1.0* @ClassName: Web安全框架配件類* @Description:* @Date: 2022/2/1 15:28*/ @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @Slf4j public class WebSecurityConfig extends WebSecurityConfigurerAdapter {@Resourceprivate UserDetailsService userDetailsService;@Resourceprivate RedisTemplate redisTemplate;/*** @description: 核心配置* @author: XS* @date: 2022/2/14*/@Overrideprotected void configure(HttpSecurity http) throws Exception {log.info("spring-security started successfully!");//todo remember mehttp.csrf().disable()//關閉csrf.authorizeRequests()// 認證白名單(不用認證,不用登錄).antMatchers(SecurityConstants.AUTHENTICATION_WHITELIST).anonymous()// 授權白名單(無權限請求).antMatchers(SecurityConstants.AUTHORIZATION_WHITELIST).permitAll()// 權限請求.anyRequest().authenticated().and()// 登出路徑.logout().logoutUrl("/member/rbac/logout")// 登出成功處理器.logoutSuccessHandler(new JWTLogoutHandler(redisTemplate)).and()// 認證過濾器.addFilter(new JWTAuthenticationFilter(authenticationManager(), redisTemplate))// 授權過濾器.addFilter(new JWTAuthorizationFilter(authenticationManager()))// 不需要session(不創建會話).sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()// 異常處理.exceptionHandling()// 授權異常.authenticationEntryPoint(new JWTAuthenticationEntryPoint())// 請求拒絕.accessDeniedHandler(new JWTAccessDeniedHandler());}/*** 密碼處理** @param auth* @throws Exception*/@Overridepublic void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(userDetailsService).passwordEncoder(new JWTPasswordHandler());}/*** 配置哪些請求不攔截*/@Overridepublic void configure(WebSecurity web) throws Exception {web.ignoring().antMatchers(SecurityConstants.RESOURCE_WHITELIST);} }

總結

以上是生活随笔為你收集整理的Spring Security 初体验的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久伊人精品天天 | 麻豆91在线看 | 亚洲天天干 | 日日草天天干 | 五月天天色 | 久久96国产精品久久99漫画 | 天天干天天做天天爱 | 99久久久国产精品免费99 | 天天操天天是 | 国产精品免费久久久 | av在线播放不卡 | 久久久午夜影院 | 国内精品在线观看视频 | 在线视频电影 | 超碰公开在线观看 | 亚洲精选视频在线 | 国产三级久久久 | 国产麻豆精品一区二区 | 日韩美女免费线视频 | 黄免费网站 | 国产乱对白刺激视频在线观看女王 | 涩涩成人在线 | www.97色.com| 国产黄色大全 | 美女福利视频一区二区 | 国产精品视频app | 91日韩在线 | 欧美男女爱爱视频 | 中文字幕视频网 | 国产剧在线观看片 | 天天天操操操 | 91av在线国产 | 久久99久久精品 | 午夜精品福利影院 | 日韩精品欧美一区 | 一级a毛片高清视频 | 天天射成人 | 欧美性久久久 | 久草在线免费播放 | 国产91精品一区二区麻豆网站 | 国产精品久久久电影 | 91日韩在线专区 | 91精品一区在线观看 | 日韩在线观看视频在线 | 亚洲美女免费精品视频在线观看 | 五月开心综合 | 免费观看全黄做爰大片国产 | 中文字幕在线观看视频免费 | 草久在线视频 | 97超碰超碰 | 亚洲综合爱 | 亚洲高清av | 欧美另类v | 日本三级人妇 | 91九色视频网站 | 四虎免费在线观看视频 | 97精品久久人人爽人人爽 | 99热这里只有精品国产首页 | 天天操天天爽天天干 | 国产精品美女久久久久久久 | 久久综合成人网 | 免费在线成人 | 99视频精品全国免费 | 中文字幕av在线播放 | 久久精品国产精品亚洲 | 久久官网 | 亚洲国产中文字幕在线 | wwwwwww黄| 免费精品在线视频 | 国产精品网站一区二区三区 | 国产精品久久久久久久午夜片 | 天天色棕合合合合合合 | 国产成人精品一区二区 | 亚洲aⅴ久久精品 | 日韩在线观看中文 | 亚洲精品国产精品国自产在线 | 亚洲午夜精品久久久久久久久 | 天天操天天曰 | 日本久久久久久 | 99视频在线免费观看 | 丁香午夜婷婷 | 欧美肥妇free | 激情五月av| 狠狠狠干狠狠 | 日韩精品一区二区免费 | 日本不卡123区 | 国产美女免费观看 | 久艹视频在线免费观看 | 午夜久久电影网 | 99r精品视频在线观看 | 在线观看免费高清视频大全追剧 | 四虎成人精品 | 狠狠干 狠狠操 | 久久精品美女视频 | 亚洲欧洲成人精品av97 | 久久精品欧美一区二区三区麻豆 | 97在线成人| 日韩资源在线观看 | 国产成人在线免费观看 | 黄色免费视频在线观看 | 久热免费在线观看 | 国产美女黄网站免费 | 一区二区中文字幕在线 | 丁香五月亚洲综合在线 | 天天色天天骑天天射 | 日韩在线高清免费视频 | 日韩大片免费在线观看 | 中文字幕在线色 | 超碰97国产精品人人cao | 四虎影视精品永久在线观看 | 色欧美成人精品a∨在线观看 | 一区二区三区影院 | 一区二区不卡高清 | 国产一区精品在线 | 日韩免费三级 | 奇米7777狠狠狠琪琪视频 | 99视频在线免费观看 | 91网址在线观看 | 黄污在线看 | 97精品国自产拍在线观看 | 成人免费视频播放 | 狠狠做深爱婷婷综合一区 | 日韩理论在线视频 | 国产色视频一区二区三区qq号 | 激情在线网 | 亚洲精品一区二区在线观看 | 精品一区二区亚洲 | a黄色一级| 久久综合狠狠综合久久狠狠色综合 | 精品视频99 | 久久久国产精品一区二区三区 | 啪一啪在线 | 婷婷国产一区二区三区 | 成人丁香花 | www狠狠操| 激情综合电影网 | av电影免费在线播放 | 丁香九月婷婷综合 | 日韩成人xxxx | 色综合天 | 亚洲国产一区二区精品专区 | 欧美一区二区三区特黄 | 国产一级在线免费观看 | 韩国av三级 | 婷婷丁香激情综合 | 日韩中文字幕免费电影 | 色的网站在线观看 | 国产精品v欧美精品 | 特级黄色一级 | 麻豆视频国产在线观看 | 色福利网站| 国产精品美女久久久 | 四虎影视国产精品免费久久 | 色亚洲网 | 黄色av电影在线 | 亚洲国产精品影院 | 日韩激情视频在线 | 999色视频 | 免费能看的黄色片 | 在线久草视频 | 99在线免费视频 | 国产精品久久久久久久久久久久午夜片 | 亚洲专区视频在线观看 | av网站免费线看精品 | 黄色国产在线观看 | 亚洲综合视频在线 | 91av手机在线观看 | 丁香婷五月 | 天天干夜夜夜 | 免费午夜网站 | 亚洲国产成人精品电影在线观看 | 久草在线久草在线2 | 一级理论片在线观看 | 亚洲精品18日本一区app | av在线电影播放 | 在线成人av | 97在线视 | av.com在线 | 久久成人亚洲欧美电影 | 青草视频在线 | 狠狠色香婷婷久久亚洲精品 | 99久久成人| av网站在线观看播放 | 青春草视频在线播放 | 亚洲精品97| 国产精品不卡一区 | 中文字幕一区二区三区久久 | 免费高清av在线看 | 亚洲成人一二三 | 中文字幕精品在线 | 久久久久久久久毛片 | 亚洲一区二区三区91 | 久久高清免费视频 | 奇米影视在线99精品 | 一区二区毛片 | 在线观看亚洲国产精品 | 日本中文字幕网站 | 午夜性盈盈 | 亚洲综合视频在线 | 欧美 激情 国产 91 在线 | 狠狠躁夜夜躁人人爽超碰91 | 九七视频在线观看 | 国产中文字幕三区 | 日韩1级片 | 国产91精品一区二区 | 久热精品国产 | 九九视频精品在线 | 黄污视频网站大全 | 特级西西人体444是什么意思 | 国产精品久久99精品毛片三a | 亚洲成人免费在线观看 | 狠狠色丁香婷综合久久 | 国产精品免费在线视频 | 日日爱网站 | 成人cosplay福利网站 | 国产精品亚洲a | 久草网站在线观看 | 亚洲天天做 | 国产小视频你懂的 | 日本最新中文字幕 | 999久久国产精品免费观看网站 | 亚洲一级片在线观看 | 开心激情五月婷婷 | 亚洲精品一区二区三区四区高清 | 91在线资源| 在线91播放 | 亚洲综合视频在线 | 在线观看完整版免费 | 欧美天堂视频在线 | av观看久久久 | 精品国产乱码久久久久久久 | 久久国产午夜精品理论片最新版本 | 国产专区精品 | 欧美激情片在线观看 | 中文字幕在线视频第一页 | 亚洲极色 | 久久久久国产精品免费网站 | 国产91学生粉嫩喷水 | 一区二区三区四区在线免费观看 | 波多野结衣在线观看一区 | 国产精品麻豆视频 | 182午夜在线观看 | 日韩av网址在线 | 国产精品久久久久久麻豆一区 | 国产精品不卡在线观看 | 亚洲精品88欧美一区二区 | 国产精品原创在线 | 在线视频免费观看 | 久草在线观看视频免费 | 手机在线小视频 | www.久久久.cum | 激情在线免费视频 | 天天插一插 | 国产精品日韩久久久久 | 久久综合国产伦精品免费 | 激情网五月婷婷 | 午夜12点 | 一本色道久久综合亚洲二区三区 | 91麻豆福利| 婷婷六月丁香激情 | av天天色 | 国产精品免费久久 | 日韩av综合网站 | 美女精品网站 | 久久在草 | 超碰在线国产 | 国产黄色在线观看 | 91传媒在线观看 | 亚洲激情六月 | 成人高清在线观看 | 91av亚洲| 国产精品乱码久久久久久1区2区 | 91在线视频网址 | 成人免费视频网站 | 一区二区三区精品久久久 | 国产精品成人一区 | 日韩综合一区二区三区 | 国产高清在线免费 | 亚洲天堂网视频在线观看 | 久久免费成人网 | 欧美日韩xxx | 久久99精品久久久久久清纯直播 | 日韩a在线播放 | 在线观看的a站 | 999国内精品永久免费视频 | 亚洲欧美视频一区二区三区 | 色是在线视频 | 毛片网免费| 久久视了 | bbw av| 日韩日韩日韩日韩 | 婷婷久久综合九色综合 | 999久久国精品免费观看网站 | 久久国产成人午夜av影院宅 | 开心色激情网 | 欧美在线视频一区二区三区 | 9ⅰ精品久久久久久久久中文字幕 | 成人在线免费视频 | 日韩成人黄色av | 91九色国产在线 | 精品 激情 | 久草视频在线资源 | 国产精品久久久久久久久久三级 | 国产高清av在线播放 | 91久久偷偷做嫩草影院 | 亚洲精品午夜久久久 | 天堂av免费看 | 欧美精品乱码久久久久 | 香蕉视频啪啪 | 爱爱av网站 | 亚洲一区免费在线 | 日日操操操 | 三级大片网站 | 国产色资源 | av线上免费观看 | 91.麻豆视频 | 国产高清成人av | 91探花系列在线播放 | 91精品久久久久 | 国产精品99久久久久久人免费 | 日本精品在线视频 | 999国内精品永久免费视频 | 99视频在线观看视频 | 婷婷激情站 | 国产男女爽爽爽免费视频 | 69国产成人综合久久精品欧美 | 国产精品亚洲综合久久 | 草在线 | 一区二区视频在线免费观看 | 超碰资源在线 | 九九国产精品视频 | 日韩av免费一区二区 | 日韩中文字幕一区 | 日本精品一区二区在线观看 | 免费在线国产精品 | 国产中文在线字幕 | 天天艹天天 | 顶级欧美色妇4khd | 国产精品无av码在线观看 | 91成人久久| 久久久久久久久久网站 | 五月开心激情网 | 99久久国产免费,99久久国产免费大片 | 四虎影视成人永久免费观看亚洲欧美 | www.亚洲视频 | 五月婷婷一级片 | 午夜手机电影 | 97国产一区二区 | 国产成人中文字幕 | 中文 一区二区 | 国产精品 欧美 日韩 | www.五月婷婷.com | 在线免费av观看 | 69国产盗摄一区二区三区五区 | 国内精品视频免费 | 婷婷射五月 | 奇米网在线观看 | 久久久官网| 超碰在线中文字幕 | 一区二区三区日韩在线观看 | 深夜免费网站 | 国产69精品久久久久久久久久 | 黄色影院在线播放 | 天天综合天天综合 | 中国美女一级看片 | 日韩欧美精品在线 | 黄色一级在线视频 | 日本三级久久久 | 亚洲人成免费网站 | 国产成人综 | 欧美日韩中文视频 | 亚洲区另类春色综合小说校园片 | 在线观看完整版免费 | 麻豆视频免费入口 | 碰碰影院 | 一区二区伦理 | 在线视频你懂 | 中文字幕日韩电影 | 91福利社区在线观看 | 久久精品视频在线 | 中国一级片在线观看 | 久久婷婷国产色一区二区三区 | 久久视频 | 粉嫩av一区二区三区四区 | 99精品国产一区二区三区麻豆 | 九九免费观看视频 | 91九色最新地址 | 五月婷丁香网 | 国产一级视频在线观看 | 国产一区二区午夜 | 久久久免费精品国产一区二区 | 91香蕉视频污在线 | 九九久久在线看 | 久久久高清视频 | 日本中文字幕高清 | 一区二区精品在线视频 | 日韩一区视频在线 | 国产999精品久久久久久麻豆 | 免费在线一区二区 | 综合色伊人 | 在线视频中文字幕一区 | 久久免费精品国产 | 免费视频成人 | 日韩理论在线播放 | 高清中文字幕 | 欧洲视频一区 | 超碰com| 亚洲精品国产综合久久 | 五月婷婷.com| 亚洲高清久久久 | 日日夜夜精品视频 | 国产精品黄网站在线观看 | 国产精品对白一区二区三区 | 国产在线精品一区二区 | 夜夜躁日日躁狠狠躁 | 亚洲欧美日韩国产一区二区 | 亚洲码国产日韩欧美高潮在线播放 | 欧美日韩视频一区二区 | 六月婷婷色| 91爱在线| 人人澡人人爽欧一区 | 亚洲伦理电影在线 | 一区二区三区四区在线 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产99久久九九精品免费 | 久久麻豆视频 | 婷婷99 | 免费观看www小视频的软件 | 人人插人人费 | 久久免费视频99 | 午夜av免费 | 日韩免费观看视频 | 99久久精品久久久久久清纯 | 久久在视频 | 婷婷激情小说网 | 最新中文字幕在线观看视频 | 婷婷资源站 | 深夜免费福利在线 | 黄色一级免费电影 | a在线观看视频 | 中文字幕日韩av | 国产精品九九九九九 | 中文字幕国产精品一区二区 | 欧美三级在线播放 | 日韩精品你懂的 | 在线播放国产精品 | 日韩电影在线观看一区二区三区 | 日本久久中文 | 午夜在线观看 | 伊人射 | 日日夜夜国产 | 欧美日韩xxx | 日日干 天天干 | 日韩乱色精品一区二区 | 99热最新地址 | h视频在线看 | 夜夜爽天天爽 | 免费在线观看日韩视频 | 国产高清视频在线播放一区 | 免费网站污| 久久精品一区二区三区视频 | 久久国产欧美日韩 | 欧美成人亚洲成人 | 久久视频这里只有精品 | www.久久99| 欧美一区成人 | 欧美日在线观看 | 久久精品韩国 | 久久婷婷一区二区三区 | 91豆花在线观看 | 成年人国产在线观看 | 久久最新网址 | 久久tv| 国产裸体无遮挡 | 亚洲一级黄色片 | 91九色视频网站 | 免费av 在线 | 久久草在线精品 | 99久久er热在这里只有精品15 | 久久在线精品 | 亚洲成 人精品 | 成人av一区二区兰花在线播放 | 欧美日韩精品在线 | 久久成人视屏 | 99久久婷婷国产 | 久久五月婷婷丁香 | 亚洲国产成人精品在线观看 | 国产精品久久久久久欧美 | 亚洲精品18p | 一区二区三区四区免费视频 | 欧美激情精品 | 国产精品成人av电影 | 久久99精品国产麻豆宅宅 | av在线日韩 | 亚洲爱av | 麻豆传媒在线视频 | 成人av日韩 | 黄色在线视频网址 | 一区二区三区精品在线视频 | 日韩三级视频在线看 | 国产精品尤物 | 怡春院av | 久久午夜免费视频 | 久久国产精品99久久久久久丝袜 | 日本久久久久久久久久久 | 日韩激情片在线观看 | 午夜免费在线观看 | 亚洲激情视频在线观看 | 成人一区电影 | 亚洲老妇xxxxxx | 日韩 在线 | 操操爽| 欧美一二区视频 | 国产精品成人a免费观看 | 免费在线观看污网站 | 欧美日韩视频一区二区 | 精品福利片 | 国产精品一区二区三区在线播放 | 伊人婷婷综合 | 色播五月激情五月 | 日韩欧美在线高清 | 亚洲深夜影院 | 成人禁用看黄a在线 | 国产夫妻性生活自拍 | 欧美日韩中文在线观看 | 在线亚洲观看 | 精品国产乱码久久久久久三级人 | 91九色免费视频 | 免费成人在线网站 | 久久婷亚洲五月一区天天躁 | 9999精品视频 | 人人澡超碰碰 | 在线视频精品播放 | 日日爽 | 亚洲精品国产拍在线 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 在线免费黄色 | 日韩精品一区二区免费视频 | 国产在线传媒 | 久草精品视频在线看网站免费 | 国产精品久久久久久麻豆一区 | 日韩av一区二区三区 | 91精品在线视频观看 | 欧美日韩国产一区二区三区在线观看 | 亚洲永久免费av | 最近免费中文字幕大全高清10 | 国产精品理论片在线播放 | 久久久久久久综合色一本 | 久久综合射 | 久久亚洲免费视频 | 久草在线精品观看 | 欧美日韩亚洲第一 | 免费看一级特黄a大片 | 久久久国产日韩 | 欧美不卡视频在线 | 国产精品女人久久久久久 | 天天干天天拍天天操天天拍 | 91香蕉视频720p | 国产午夜精品久久久久久久久久 | 99精品久久久久久久久久综合 | 亚洲欧美日韩中文在线 | 最近日韩免费视频 | 日韩va亚洲va欧美va久久 | 狠狠狠色丁香婷婷综合激情 | 在线观看日本高清mv视频 | 国产一区久久久 | 深爱婷婷网 | 色视频国产直接看 | 国产精品黑丝在线观看 | 精品亚洲欧美无人区乱码 | 深夜福利视频一区二区 | 色综合久久五月 | 国产一区高清在线观看 | 亚洲国产日韩在线 | 999久久国产精品免费观看网站 | 91天堂在线观看 | 成人a免费看 | 亚洲传媒在线 | 精品国产伦一区二区三区观看方式 | 中文亚洲欧美日韩 | 国产成人精品久久亚洲高清不卡 | 国产一区二区午夜 | 天天色综合久久 | 综合色在线观看 | 97超碰精品 | 久久久久久国产精品 | 免费看搞黄视频网站 | 午夜精品电影 | 97人人澡人人添人人爽超碰 | 免费黄色在线播放 | 九九精品无码 | 婷婷色在线观看 | 91av视频| 亚洲爱视频 | 久草精品视频在线看网站免费 | 久久免费影院 | 免费视频你懂得 | 综合久久久久久久久 | 亚洲精品一区二区精华 | www.色婷婷.com| 久久久久久99精品 | 91视频91蝌蚪| 天天综合天天综合 | 色诱亚洲精品久久久久久 | 日本xxxx裸体xxxx17 | 亚洲美女精品 | 欧美激情h | 国产成人99av超碰超爽 | 亚洲精品国产拍在线 | 亚洲成人影音 | 高清av在线| 蜜臀av网址 | 国产成人久久久久 | 奇米网777| 在线日韩av | 天天天天射 | 精品视频资源站 | 国内精品视频一区二区三区八戒 | 中文字幕国语官网在线视频 | 国产一区免费在线 | 日本久久电影 | 国产成人精品三级 | 欧美另类老妇 | 久av电影| 久久精品国产成人精品 | 日韩久久影院 | 亚洲最大的av网站 | 日韩精品视频免费在线观看 | 中文字幕在线视频一区 | 五月天中文字幕mv在线 | 啪啪激情网 | 不卡视频一区二区三区 | 国产精品久久久久久久久久久免费看 | 一本色道久久综合亚洲二区三区 | 成人黄色电影在线观看 | 香蕉影视在线观看 | 国产97在线看 | 日日爱影视 | 夜夜骑天天操 | 久久国内免费视频 | 日日久视频 | 国产精品婷婷午夜在线观看 | 日韩国产在线观看 | 亚洲国产精品传媒在线观看 | 国产黄在线观看 | 亚洲成人午夜在线 | 热99久久精品 | 国产精品午夜久久 | 久久久久久久久久伊人 | 久久久久久久久久久精 | 日韩中文在线播放 | 黄色av电影一级片 | 中文字幕在线视频一区 | ww视频在线观看 | 国产麻豆成人传媒免费观看 | 国产黄色片在线免费观看 | 日韩欧美视频在线免费观看 | 国产在线视频一区二区 | 在线三级播放 | 欧美一级性生活视频 | 91精品一区二区三区久久久久久 | 欧美一级大片在线观看 | 欧美与欧洲交xxxx免费观看 | 波多野结依在线观看 | 色九色| 国产精品自产拍在线观看桃花 | 99久久精品久久久久久动态片 | 97国产一区| 久久精品人| 精品视频免费久久久看 | 久久久久国产a免费观看rela | 91丨九色丨高潮丰满 | 91丨九色丨91啦蝌蚪老版 | 91视频久久久久久 | 2023亚洲精品国偷拍自产在线 | 久久99精品国产麻豆宅宅 | 久久久免费精品 | 亚洲 欧美 日韩 综合 | 日日干日日操 | 午夜精品婷婷 | 亚洲精品女人 | 精品国产人成亚洲区 | 欧美成人日韩 | 国产免费高清 | 国产大陆亚洲精品国产 | 国产偷v国产偷∨精品视频 在线草 | 国产成人av一区二区三区在线观看 | 中文字幕制服丝袜av久久 | 美女久久久 | 九九视频这里只有精品 | 午夜久久影视 | 日韩在线视频播放 | 国产高清网站 | 日韩三区在线 | 91在线视频免费91 | 国产精品日韩欧美一区二区 | 麻豆va一区二区三区久久浪 | 国产精品久久久久久高潮 | 欧美天天综合网 | 久久九九网站 | 天躁狠狠躁| 久久久久久久久久久久av | 99视频在线 | 69久久99精品久久久久婷婷 | 探花视频在线观看免费版 | 黄网站色成年免费观看 | 久草视频在线播放 | 精品影院一区二区久久久 | 日韩免费在线看 | 天天操夜夜叫 | 久草在线网址 | 人人玩人人添人人澡超碰 | 免费看的视频 | 97超碰在 | 亚洲va在线va天堂va偷拍 | 久久久久国产精品免费免费搜索 | 国产欧美精品在线观看 | 国产一卡久久电影永久 | 狠狠干中文字幕 | 黄色动态图xx | 国产成人免费观看久久久 | 九九免费在线观看 | 免费的黄色的网站 | 高清国产午夜精品久久久久久 | 亚洲激情校园春色 | 91亚洲精品在线观看 | 国产成人一区二区三区免费看 | 一级黄色片在线播放 | 日韩在线第一区 | 99视频精品 | 色姑娘综合天天 | 婷婷丁香狠狠爱 | 国产精品第一页在线观看 | 成人9ⅰ免费影视网站 | 亚洲桃花综合 | 999久久国精品免费观看网站 | 91九色porny蝌蚪视频 | 日本性xxxxx 亚洲精品午夜久久久 | 国产精品v欧美精品 | 久久久久一区二区三区四区 | 精品国产乱子伦一区二区 | 精品国产不卡 | 91精品国产成 | 性色av一区二区 | 一级一级一片免费 | 色久天 | 国产高清视频在线 | 特级黄色一级 | 丁香五婷 | 国产精品h在线观看 | 日本中文字幕在线 | 永久免费观看视频 | 成人97人人超碰人人99 | 在线视频观看国产 | 中文字幕国产 | 免费亚洲精品 | 精品国产视频在线观看 | 99视频一区 | 国产成人av一区二区三区在线观看 | 久久久久久久久久久影视 | 国产美女久久 | www.色国产 | 国产日韩精品一区二区三区 | 国产专区视频在线观看 | 日韩理论在线观看 | 91视频免费网址 | 国精产品999国精产品视频 | 久久艹国产 | 蜜臀av夜夜澡人人爽人人桃色 | 91精品国产福利在线观看 | 91麻豆精品国产91久久久更新时间 | av中文天堂在线 | 久久成人资源 | 最近中文字幕高清字幕免费mv | 一区二区久久久久 | 怡红院av久久久久久久 | 99欧美 | 亚洲免费精彩视频 | 青青草在久久免费久久免费 | 91成人免费电影 | 日韩欧美在线综合网 | 久久深夜福利免费观看 | 中文字幕免费 | 国产1区2区3区精品美女 | 国产在线观看a | 久久精品视频网站 | 视频在线国产 | 欧美日韩精品电影 | 久久久九九 | 又爽又黄在线观看 | 99精品偷拍视频一区二区三区 | 很黄很色很污的网站 | 亚洲人成免费 | 综合精品久久久 | 久色免费视频 | 九九热1| 黄色片免费电影 | 国产精品6| 欧美精品亚洲精品 | 99综合电影在线视频 | 免费久久久 | avove黑丝 | 四虎影视精品成人 | 超碰最新网址 | 久久免费精品一区二区三区 | 婷婷去俺也去六月色 | 丝袜+亚洲+另类+欧美+变态 | 91精品国产高清自在线观看 | 91精品视频免费在线观看 | 午夜视频欧美 | 精品久久一区二区 | 高清在线观看av | 国模视频一区二区三区 | 国产一区二区成人 | 五月婷婷开心中文字幕 | 伊人看片 | 亚洲最大av在线播放 | 狠狠狠狠狠狠操 | 伊人手机在线 | 日韩精品电影在线播放 | 蜜桃传媒一区二区 | 91精品视频免费在线观看 | 天天操天天操天天操天天操天天操 | 国产高清视频在线播放一区 | 久久的色 | 在线观看的黄色 | 久久精品波多野结衣 | 美女搞黄国产视频网站 | 日韩免费电影在线观看 | 国产手机视频在线 | 欧美在线一级片 | 中文字幕永久在线 | 久久激情五月丁香伊人 | 欧美一区二区三区不卡 | 香蕉一区| 日韩精品一区电影 | av+在线播放在线播放 | 日韩欧美国产激情在线播放 | 国产精品视频免费看 | 国产99久久久国产精品 | 色综合久久中文综合久久牛 | 在线观看一区二区视频 | 日韩欧美视频一区二区三区 | 91九色成人蝌蚪首页 | 日日爱999| 日韩av男人的天堂 | 偷拍精品一区二区三区 | 亚洲精品久久久久999中文字幕 | 中文字幕在线观看你懂的 | 97人人爽人人 | 青春草视频 | 婷婷六月天在线 | 91在线视频播放 | 五月情婷婷 | 91视频亚洲 | www亚洲视频 | 一区二区高清在线 | 久久精品视频日本 | 国产成人福利在线观看 | 超碰在线1 | 免费看污黄网站 | 性色在线视频 | 成人欧美亚洲 | 国产亚洲精品综合一区91 | 亚洲精品一区二区三区四区高清 | 国产精品成人自拍 | 激情六月婷婷久久 | 天天射天天干 | 欧美人zozo | 91传媒在线观看 | 久久麻豆精品 | 成人免费在线视频 | 黄色片免费在线 | 美女亚洲精品 | 天天综合天天做 | 91麻豆精品国产午夜天堂 | 综合色站导航 | 亚洲aⅴ久久精品 | 丁香婷婷激情国产高清秒播 | 在线视频免费观看 | 免费高清在线视频一区· | 国产视频99 | 在线免费黄 | 黄色三级在线观看 | 精品久久国产一区 | 久久久久久久久福利 | 亚洲精品视频一 | 亚洲人成在线电影 | 91爱在线| 在线观看亚洲免费视频 | 在线免费观看欧美日韩 | 波多野结衣视频一区 | av爱干| 日韩欧美网址 | 91成人在线视频 | 日韩精品专区在线影院重磅 | 天天爱天天操天天爽 | 亚洲第一中文字幕 | 国产精品69久久久久 | 91麻豆免费视频 | 在线免费观看黄色小说 | 免费在线国产精品 | 97精品国产一二三产区 | 婷婷亚洲综合五月天小说 | 视频在线精品 | 成人小视频在线观看免费 | 中文亚洲欧美日韩 | 日本3级在线观看 | 久久国产精品99久久久久久丝袜 | 中文字幕888 | 色狠狠一区二区 | 8090yy亚洲精品久久 | 五月开心六月婷婷 | 黄色aaa级片| 国产四虎在线 | 91传媒在线播放 | 免费看搞黄视频网站 | 久久久久久久久黄色 | 香蕉视频网址 | 国产做aⅴ在线视频播放 | 韩国在线一区二区 | 国产在线精品视频 | 成人精品视频 | 黄色一级免费 | 亚洲国产中文字幕在线观看 | 在线日韩一区 | 国产视频精品久久 | 国产精品色在线 | 国产精品中文字幕在线 | 国产精品自产拍在线观看蜜 | 一区二区中文字幕在线观看 | 中文字幕文字幕一区二区 | 国产精品一区二区三区久久 | .精品久久久麻豆国产精品 亚洲va欧美 | 人人dvd | 亚洲aⅴ在线| 麻豆免费视频网站 | 波多野结衣在线观看视频 | 波多野结依在线观看 | 成人久久毛片 | 在线观看成人一级片 | 久久亚洲影视 | 国产黄网在线 | 午夜久久久久久久久久久 | 天天操偷偷干 | 骄小bbw搡bbbb揉bbbb | 在线观看黄色的网站 | 欧美日韩高清在线一区 | 色偷偷网站视频 | 国产小视频免费观看 | 九九精品久久久 | 亚洲一区二区高潮无套美女 | 蜜桃视频在线视频 | 日本精品久久久久影院 | 国产视频午夜 | 天堂在线成人 | 999久久久久久久久 69av视频在线观看 | 激情婷婷网 | 久久一区二 | 免费在线观看毛片网站 | 亚洲视频播放 | 精品夜夜嗨av一区二区三区 | 久久久久久久久网站 | 欧美日韩国产二区 | 插综合网 | 国产又粗又硬又长又爽的视频 | 色人久久| 麻豆一精品传二传媒短视频 | 国产精品v a免费视频 | 久久国产欧美日韩精品 | 亚洲欧美国内爽妇网 | 亚洲激情在线播放 | 国产午夜亚洲精品 | 日韩理论片在线观看 | 又黄又爽又刺激 | 在线免费观看黄色大片 | 狠狠婷婷 | 日韩精品一区二区三区在线视频 | 久热免费| 国产91影院 | 91九色丨porny丨丰满6 | 成人 国产 在线 | 日韩免费高清在线 | 91成人精品一区在线播放69 | 国产精品福利无圣光在线一区 | 国产黄色a| 激情网五月婷婷 | 欧美精品久久久久久 | 日韩二区在线播放 | 天天插天天色 | 免费视频资源 | 久久精品网站免费观看 | 中文字幕日本在线观看 | 亚洲精品1区2区3区 超碰成人网 | 国产不卡视频 | 在线观看视频日韩 | 麻豆传媒在线免费看 | 午夜久久久久久久久久影院 |