• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Apache Shrio的微服務(wù)認(rèn)證授權(quán)方案

    2023-09-14 14:21:46遼河石油勘探局有限公司信息工程分公司林哲
    關(guān)鍵詞:令牌網(wǎng)關(guān)單體

    遼河石油勘探局有限公司信息工程分公司 林哲

    信息化的高速發(fā)展推動了計算機(jī)應(yīng)用架構(gòu)的迭代演進(jìn),傳統(tǒng)單體應(yīng)用項目的認(rèn)證與授權(quán)方式已不適用于基于微服務(wù)架構(gòu)的系統(tǒng)應(yīng)用。本文提出了一種微服務(wù)架構(gòu)下的認(rèn)證授權(quán)方案,基于Apache Shrio整合Oauth2.0協(xié)議,實現(xiàn)獨立的微服務(wù)認(rèn)證與授權(quán)中心;整合JWT作為認(rèn)證令牌,增強(qiáng)系統(tǒng)的安全性、易用性。對于原有項目升級改造以及微服務(wù)應(yīng)用構(gòu)建開發(fā)均具備一定的參考價值。

    隨著網(wǎng)絡(luò)技術(shù)的發(fā)展、應(yīng)用規(guī)模的不斷擴(kuò)大,以及應(yīng)用場景的日趨復(fù)雜化,計算機(jī)應(yīng)用架構(gòu)也在不斷演變,逐漸從單體應(yīng)用架構(gòu)演化出了微服務(wù)架構(gòu)等更加有利于資源匹配的架構(gòu)形式。隨之產(chǎn)生的問題是單體架構(gòu)中的認(rèn)證授權(quán)機(jī)制不能直接應(yīng)用到微服務(wù)架構(gòu)中,需要重新設(shè)計一種認(rèn)證授權(quán)方案,使其符合微服務(wù)無狀態(tài)、資源分散、技術(shù)多樣性等特點。Apache Shrio作為單體應(yīng)用中的主流安全框架,是一個強(qiáng)大易用的Java安全框架,提供了認(rèn)證、授權(quán)、加密和會話管理等功能,可以為任何應(yīng)用提供安全保障[1]。Shiro提供的接口使其具有靈活的擴(kuò)展能力,具備擴(kuò)展為微服務(wù)架構(gòu)安全框架的可能性。Oauth2.0協(xié)議的出現(xiàn)則為開發(fā)人員提供了一整套適用于微服務(wù)架構(gòu)的認(rèn)證授權(quán)開發(fā)標(biāo)準(zhǔn)。本文基于上述技術(shù),研究了單體項目和微服務(wù)認(rèn)證授權(quán)的機(jī)制,提出一種微服務(wù)架構(gòu)下的認(rèn)證與授權(quán)方案。

    1 技術(shù)路線

    1.1 微服務(wù)

    微服務(wù)是一種軟件架構(gòu)方案,通常由一組職責(zé)單一、具備自治性的獨立服務(wù)組成。服務(wù)之間由服務(wù)注冊、服務(wù)發(fā)現(xiàn)、網(wǎng)關(guān)、鏈路追蹤、熔斷機(jī)制等技術(shù)進(jìn)行管理、維護(hù)。相較于單體項目,微服務(wù)架構(gòu)具備以下優(yōu)勢:

    (1)彈性配置。微服務(wù)之間通過一些輕量級的通信機(jī)制進(jìn)行通信,由于服務(wù)本身及網(wǎng)絡(luò)情況的不確定性,通信間的交互可能出現(xiàn)故障。由于微服務(wù)架構(gòu)中的服務(wù)通常具備獨立職責(zé)且結(jié)構(gòu)完整,而微服務(wù)應(yīng)用程序的彈性也主要取決于微服務(wù)通信的可靠性。因此微服務(wù)提供了許多機(jī)制來保證微服務(wù)應(yīng)用程序的彈性,其中包括超時、重試、斷路器、快速故障、隔板、事務(wù)、負(fù)載平衡,故障轉(zhuǎn)移和保證的交付等。(2)獨立擴(kuò)展。在傳統(tǒng)單體項目中,對單一服務(wù)進(jìn)行拓展時,由于系統(tǒng)間的服務(wù)耦合度高,導(dǎo)致系統(tǒng)整體也會受到影響。而微服務(wù)體系是由一組相對獨立的服務(wù)組成,可以指向性地針對特定服務(wù)進(jìn)行單獨擴(kuò)展,這樣就能根據(jù)實際需求合理分配資源到不同的服務(wù)中去,從而達(dá)到最佳的性能效果。(3)簡化部署。單體項目改版發(fā)布的難度隨其代碼規(guī)模的增長而增長,任何變動都需要整個項目重新部署。對于大體量項目來說,項目的重新部署以及處理可能產(chǎn)生的BUG都需要很高的成本,且具有很高的風(fēng)險度。微服務(wù)由于互相之間相對獨立,單一微服務(wù)體量小易部署,即使產(chǎn)生BUG,也能夠快速回滾到之前的穩(wěn)定版本進(jìn)行部署,對當(dāng)前運行的其他程序影響不大。

    1.2 Apache Shiro

    Apache Shiro是一種功能強(qiáng)大且易于使用的Java安全框架,它具有身份驗證、訪問授權(quán)、數(shù)據(jù)加密、會話管理等功能,可用于保護(hù)任何應(yīng)用程序的安全[2]。Shiro主要由3個組件構(gòu)成,分別為主體(Subject)、安全管理器(Security Manager)和領(lǐng)域(Realm)。

    (1)主體。Subject是一個抽象概念,表示與程序交互的對象,是Shiro框架對外的核心對象。代表當(dāng)前“用戶”,“用戶”一次不一定指的是人,也可以是其他應(yīng)用程序、接口等。Subject作為對外接口,其中的交互操作實際都是由Security Manager來完成。(2)安全管理器。Security Manager是Shiro框架的核心組件。所有涉及系統(tǒng)安全的相關(guān)操作都會與Security Manager進(jìn)行交互,Security Manager負(fù)責(zé)管理Shiro中的其他組件,協(xié)調(diào)各組件共同完成安全管理任務(wù)。(3)領(lǐng)域。Realm是安全信息數(shù)據(jù)源,內(nèi)部封裝了通用數(shù)據(jù)源鏈接,用于作為安全驗證的參考數(shù)據(jù)。當(dāng)進(jìn)行授權(quán)、令牌獲取、令牌認(rèn)證等操作時,Shiro通過配置的Realm查找相關(guān)的數(shù)據(jù)信息,Realm可以配置一個或多個。當(dāng)Shrio默認(rèn)提供的Realm無法滿足需求時,可以自定義領(lǐng)域?qū)崿F(xiàn),形成定制化數(shù)據(jù)源。

    1.3 JWT

    Json Web Token (JWT)是一個基于 RFC7519 的信息傳遞協(xié)議,是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)[3]。JWT是由點符號連接的3個部分組成,分別為標(biāo)頭(Header)、載荷(Payload)和簽名(Signature),其中Header存儲了所使用的加密算法和Token類型;Payload是一個JSON對象,作為JWT的主體部分,官方規(guī)定了7個字段供開發(fā)者選用,也可以自定義字段和內(nèi)容;Signature是對前2個部分的簽名,作用是防止數(shù)據(jù)篡改。這3個部分分別單獨進(jìn)行Base64編碼后使用點符號拼接成完整的JWT。相比傳統(tǒng)的Session認(rèn)證方式,基于Token的認(rèn)證方式更適用于移動端和分布式,且更節(jié)約計算資源,具備支持跨域訪問、無狀態(tài)、適用于CDN、無需考慮CSRF等特性。

    1.4 Oauth2.0

    OAuth2.0是一個授權(quán)第三方服務(wù)訪問Web項目的安全協(xié)議。OAuth2.0將第三方應(yīng)用與用戶的安全信息進(jìn)行分隔,并且提供簡單、標(biāo)準(zhǔn)的實現(xiàn)方案來訪問應(yīng)用中受保護(hù)的資源。該協(xié)議具備開放、靈活、簡單、安全等特點。OAuth2.0采用無狀態(tài)的認(rèn)證授權(quán)方式,以令牌作為安全信息的載體,適用于多服務(wù)獨立部署的微服務(wù)架構(gòu)。令牌基于Rest風(fēng)格的API在服務(wù)間進(jìn)行傳遞。

    1.5 Apache Oltu

    Apache Oltu是OAuth2.0協(xié)議基于Java語言的實現(xiàn),具有輕量、簡單、靈活等特點。Apache Oltu源碼包分為4個部分:

    (1)Issuer:生成授權(quán)碼和訪問令牌,刷新令牌;(2)Request:封裝授權(quán)碼請求和令牌請求的邏輯,并提供相應(yīng)的校驗服務(wù);(3)Response:封裝授權(quán)流程中的響應(yīng)邏輯,提供生成不同響應(yīng)結(jié)果的方法;(4)Validator:為Request提供校驗服務(wù)。

    2 方案設(shè)計

    (1)微服務(wù)入口處理。微服務(wù)架構(gòu)通常由API網(wǎng)關(guān)作為系統(tǒng)對外的唯一入口。因此網(wǎng)關(guān)可以整合令牌的初步認(rèn)證。通過獲取請求中的令牌信息,并對信息進(jìn)行解析、校驗等操作,實現(xiàn)身份認(rèn)證以及部分授權(quán)功能。另外,網(wǎng)關(guān)需要設(shè)置白名單,即驗證碼、令牌獲取等請求不需要進(jìn)行身份認(rèn)證即可訪問。(2)獲取授權(quán)碼。當(dāng)外部應(yīng)用對服務(wù)發(fā)起授權(quán)碼請求時,網(wǎng)關(guān)通過判斷請求在白名單列表中,直接將請求轉(zhuǎn)發(fā)至認(rèn)證中心。認(rèn)證中心對用戶名密碼進(jìn)行驗證,驗證通過后生成授權(quán)碼,并以重定向URL參數(shù)的形式返回給用戶。(3)令牌的選擇及獲取。方案采取無狀態(tài)認(rèn)證授權(quán)方式,使用Token作為安全信息載體。為提高令牌的安全性、易用性、靈活性,采用JWT作為令牌實現(xiàn)。經(jīng)由網(wǎng)關(guān)白名單釋放的令牌獲取請求到達(dá)認(rèn)證中心。認(rèn)證中心對請求中攜帶的授權(quán)碼驗證,驗證通過后生成驗證碼。(4)資源授權(quán)。當(dāng)請求攜帶有效Token訪問服務(wù)時,網(wǎng)關(guān)通過對Token的解析,獲取身份信息及權(quán)限信息。并將信息重新加密后通過請求傳遞給資源中心,資源中心解密信息后,將信息存入安全上下文。資源中心根據(jù)上下文中的權(quán)限信息對請求進(jìn)行授權(quán)并獲取資源,最終完成請求訪問流程。

    3 功能實現(xiàn)

    3.1 網(wǎng)關(guān)整合令牌認(rèn)證

    通過實現(xiàn)Spring Cloud Gateway的GlobalFilter實現(xiàn)對網(wǎng)關(guān)訪問請求的攔截,從中獲取令牌,并使用JWTStore進(jìn)行解析,獲取權(quán)限信息及身份信息并進(jìn)行身份認(rèn)證。認(rèn)證通過后,將安全信息編碼后添加到請求,通過Filter Chain向后傳遞。

    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {

    String requestUrl = exchange.getRequest().getPath().value();

    AntPathMatcher pathMatcher = new AntPath Matcher();

    //1 認(rèn)證中心服務(wù)所有放行

    if (pathMatcher.match("/sso-server/**",requestUrl)) {

    return chain.filter(exchange);

    }

    //2 檢查token是否存在

    String token = getToken(exchange);

    if (!StringUtils.hasLength(token)) {

    return noTokenMono(exchange);

    }

    //3 判斷是否是有效的token

    OAuth2AccessToken oAuth2AccessToken;

    try {

    oAuth2AccessToken = tokenStore.readAccess Token(token);

    Map<String, Object> additionalInformation =oAuth2AccessToken.getAdditionalInformation();

    //取出用戶身份信息

    String principal = (String)additionalInformation.get("user_name");

    //獲取用戶權(quán)限

    List<String> authorities = (List<String>)additionalInformation.get("authorities");

    HashMap hashMap = new HashMap();

    hashMap.put("principal",principal);

    hashMap.put("authorities",authorities);

    //給header添加值

    String base64 = "";

    try {

    base64 = EncryptUtil.encodeUTF8StringBase64(new ObjectMapper().writeValueAsString(hashMap));

    } catch (IOException e) {

    e.printStackTrace();

    }

    ServerHttpRequest tokenRequest = exchange.get Request().mutate().header("json-token", base64).build();

    ServerWebExchange build = exchange.mutate().request(tokenRequest).build();

    return chain.filter(build);

    } catch (InvalidTokenException e) {

    return invalidTokenMono(exchange);

    }

    }

    3.2 獲取授權(quán)碼

    授權(quán)碼獲取采用Shiro整合Oltu實現(xiàn)。通過Subject狀態(tài)判斷用戶是否已登錄,如果通過狀態(tài)判定,則生成授權(quán)碼,并以重定向方式將授權(quán)碼返回給客戶端。

    //封裝OAth請求

    OAuthAuthzRequest authzRequest=new OAuth AuthzRequest(request);

    //檢查client_id

    if(!checkClientId(authzRequest.getClientId())){

    //錯誤則構(gòu)造錯誤響應(yīng)

    return "error";

    }

    //判斷用戶登錄狀態(tài)

    Subject subject=SecurityUtils.getSubject();

    if(!subject.isAuthenticated())

    return "oauth2login";

    }

    //判斷狀態(tài)為登錄成功,則生成授權(quán)碼code

    String username=(String)subject.getPrincipal();

    String authorizCode=null;

    String responseType= authzRequest

    .getParam("response_type");

    if(responseType.equals("code")){

    //生成authCode

    OAuthIssuerImpl issuerImpl=new OAuthIssuerImpl(

    new MD5Generator());

    authorizCode= issuerImpl.authorizationCode();

    addAuthCode(authorizCode,username);

    }

    //重定向回客戶端地址

    String redURI=authzRequest

    .getParam("redirectUrl");

    final OAuthResponse response= OAuthASResponse

    .authorizationResponse(request,302)

    .setCode(authorizCode)

    .location(redURI)

    .buildQueryMessage();

    HttpHeaders hs=new HttpHeaders();

    URI uri = new URI(response.getLocationUri());

    hs.setLocation(uri);

    return new ResponseEntity(hs, HttpStatus.FOUND);

    3.3 獲取令牌

    Shiro的領(lǐng)域接口提供了Supports方法,用于設(shè)置Realm支持的Token類型。重寫Supports方法,指定Token驗證類型為封裝的JWT類型,為整合JWT做準(zhǔn)備。通過對自定義Realm中的認(rèn)證方法進(jìn)行重寫,增加令牌認(rèn)證功能。

    public class JwtShiroRealm extends AuthorizingRealm{

    @Override

    public boolean supports(AuthenticationToken token) {

    return token instanceof JwtToken;

    }

    // 認(rèn)證

    @Override

    protected AuthenticationInfo doGetAuthenticationInfo(Au thenticationToken token) throws AuthenticationException {

    String credentials = (String) token.getCredentials();

    // 解密獲得username,用于和數(shù)據(jù)庫進(jìn)行對比

    String username = JwtUtil.getUsername(credentials);

    if ("admin".equals(username)) {

    //數(shù)據(jù)庫查出來的用戶

    User user = getUser();

    //驗證密碼是否正確

    if (JwtUtil.verify(tokenStr, username, user.get Password())) {

    log.info("登錄成功");

    } else {

    throw new UnknownAccountException("用戶名密碼錯誤");

    }

    SimpleAuthenticationInfo simpleAuthenticationInfo= new SimpleAuthenticationInfo(token.getCredentials(),token.getCredentials(), this.getName());

    return simpleAuthenticationInfo;

    }

    return null;

    }

    }

    3.4 整合JWT實現(xiàn)

    自定義JWT工具類,實現(xiàn)生成令牌、令牌驗證、獲取對應(yīng)信息等相關(guān)功能。

    public class JwtUtil {

    private static final long EXPIRE_TIME = 60 *60 * 1000;

    //校驗token

    public static boolean check(String token, String name, String secret) {

    try {

    //根據(jù)秘鑰生成JWT效驗器

    Algorithm alg = Algorithm.HMAC256(secret);

    JWTVerifier verif = JWT.require(alg)

    .withClaim("username", name)

    .build();

    //校驗token

    DecodedJWT dcjwt = verif.verify(token);

    return true;

    } catch (Exception e) {

    return false;

    }

    }

    //獲取用戶名

    public static String getUsername(String token) {

    try {

    DecodedJWT jwt = JWT.decode(token);

    return jwt.getClaim("username").asString();

    } catch (JWTDecodeException e) {

    return null;

    }

    }

    //生成token

    public static String sign(String uname, String secret) {

    return JWT.create()

    .withJWTId(UUID.randomUUID().toString())

    .withClaim("username", uname)

    .withExpiresAt(new Date(getCurrentDate()))

    .sign(Algorithm.HMAC256(secret));

    }

    }

    4 結(jié)語

    本文通過對Apache Shiro、JWT、微服務(wù)架構(gòu)等技術(shù)的介紹與分析,提出了一種基于Apache Shiro的微服務(wù)認(rèn)證授權(quán)方案。方案在保留Shiro原有特性的前提下,實現(xiàn)了對微服務(wù)架構(gòu)的適配,具有高效率、高安全性、低耦合度、可擴(kuò)展等特點。方案所實現(xiàn)的安全框架能夠完成認(rèn)證授權(quán)在微服務(wù)架構(gòu)中的完全覆蓋,同時也保留了一定的靈活性,讀者可以根據(jù)實際情況調(diào)整安全框架的有效范圍,從而找到應(yīng)用整體的最佳運行效果。

    引用

    [1]時子慶,劉金蘭,譚曉華.基于OAuth2.0的認(rèn)證授權(quán)技術(shù)[J].計算機(jī)系統(tǒng)應(yīng)用,2012,21(3):260-264.

    [2]梁清華,胡安明.Apache Shiro框架在Web系統(tǒng)的安全應(yīng)用研究[J].電腦知識與技術(shù),2021,17(6):52-53.

    [3]范展源,羅福強(qiáng).JWT認(rèn)證技術(shù)及其在WEB中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2016(2):114.

    猜你喜歡
    令牌網(wǎng)關(guān)單體
    稱金塊
    基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
    基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
    動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
    單體光電產(chǎn)品檢驗驗收方案問題探討
    相變大單體MPEGMA的制備與性能
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    移動通信(2015年18期)2015-08-24 07:45:08
    應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
    太陽能(2015年7期)2015-04-12 06:49:50
    巨無霸式醫(yī)療單體的選擇
    類姜黃素及其單體對β-內(nèi)分泌酶活性的抑制作用
    免费看十八禁软件| 国产伦一二天堂av在线观看| 18禁观看日本| 欧美激情 高清一区二区三区| 51午夜福利影视在线观看| 久久这里只有精品19| 久久人人爽av亚洲精品天堂| 色老头精品视频在线观看| 亚洲全国av大片| 国产精品二区激情视频| 18美女黄网站色大片免费观看| 精品欧美一区二区三区在线| 岛国在线观看网站| 一区福利在线观看| 免费看十八禁软件| 亚洲在线自拍视频| 免费在线观看影片大全网站| 久久香蕉国产精品| 精品熟女少妇八av免费久了| 美女福利国产在线| 日韩欧美国产一区二区入口| 90打野战视频偷拍视频| 国产97色在线日韩免费| 老司机亚洲免费影院| 国产亚洲精品第一综合不卡| 国产精品av久久久久免费| 18禁黄网站禁片午夜丰满| 免费在线观看日本一区| 亚洲精品中文字幕在线视频| 亚洲精品国产精品久久久不卡| 制服诱惑二区| 国产成人av激情在线播放| 亚洲中文字幕日韩| 99国产精品免费福利视频| www.www免费av| 中出人妻视频一区二区| 久久国产精品人妻蜜桃| 色婷婷久久久亚洲欧美| 亚洲成人免费电影在线观看| 亚洲国产精品sss在线观看 | 精品福利永久在线观看| 国产欧美日韩综合在线一区二区| 亚洲国产中文字幕在线视频| 成人永久免费在线观看视频| 免费在线观看影片大全网站| 国产精品国产av在线观看| av在线天堂中文字幕 | 精品久久久久久久久久免费视频 | 国产主播在线观看一区二区| 露出奶头的视频| 久久九九热精品免费| 可以免费在线观看a视频的电影网站| 国产精品一区二区免费欧美| 亚洲欧美日韩高清在线视频| 99国产精品一区二区三区| 无遮挡黄片免费观看| 香蕉丝袜av| 桃色一区二区三区在线观看| 欧美 亚洲 国产 日韩一| 无遮挡黄片免费观看| 中文字幕人妻丝袜制服| 午夜久久久在线观看| 9热在线视频观看99| 一a级毛片在线观看| 亚洲aⅴ乱码一区二区在线播放 | 美女高潮到喷水免费观看| 在线观看日韩欧美| 女人爽到高潮嗷嗷叫在线视频| 神马国产精品三级电影在线观看 | 在线观看66精品国产| 丰满的人妻完整版| 国产av又大| 怎么达到女性高潮| 国产av在哪里看| 免费高清在线观看日韩| 一级片'在线观看视频| 欧美日韩av久久| 一区二区日韩欧美中文字幕| 久久午夜亚洲精品久久| 91在线观看av| 啦啦啦免费观看视频1| 最近最新中文字幕大全免费视频| 级片在线观看| 动漫黄色视频在线观看| 久久香蕉国产精品| 久久精品国产99精品国产亚洲性色 | 成年女人毛片免费观看观看9| 搡老熟女国产l中国老女人| 精品国产亚洲在线| 久久精品国产亚洲av香蕉五月| 欧美激情高清一区二区三区| 久久久久国内视频| 亚洲欧美激情综合另类| 亚洲精品国产色婷婷电影| 精品久久久精品久久久| 韩国精品一区二区三区| 免费在线观看完整版高清| 午夜福利在线免费观看网站| 母亲3免费完整高清在线观看| 美女 人体艺术 gogo| 色综合婷婷激情| 精品久久久久久,| 满18在线观看网站| 精品久久久久久久久久免费视频 | 岛国视频午夜一区免费看| 欧美日韩视频精品一区| 欧美 亚洲 国产 日韩一| 在线观看免费视频网站a站| 免费看十八禁软件| 色播在线永久视频| 亚洲欧美日韩无卡精品| 91国产中文字幕| 欧美最黄视频在线播放免费 | 欧美精品一区二区免费开放| 国产亚洲精品综合一区在线观看 | 久久热在线av| 日韩欧美国产一区二区入口| 色精品久久人妻99蜜桃| 91精品国产国语对白视频| 国产野战对白在线观看| 大香蕉久久成人网| av电影中文网址| 久久国产精品男人的天堂亚洲| av超薄肉色丝袜交足视频| 黄片播放在线免费| 村上凉子中文字幕在线| 中国美女看黄片| 黄片播放在线免费| 一级a爱片免费观看的视频| 一级片免费观看大全| 成人18禁高潮啪啪吃奶动态图| 亚洲精品国产区一区二| 少妇裸体淫交视频免费看高清 | 精品国产亚洲在线| 老汉色av国产亚洲站长工具| 国产单亲对白刺激| 热re99久久精品国产66热6| 国产午夜精品久久久久久| 欧美日韩视频精品一区| 精品一区二区三区四区五区乱码| 天天添夜夜摸| 老鸭窝网址在线观看| 欧美丝袜亚洲另类 | 亚洲精品中文字幕在线视频| 高清黄色对白视频在线免费看| 久久午夜综合久久蜜桃| 91成人精品电影| 母亲3免费完整高清在线观看| 最近最新中文字幕大全电影3 | 中出人妻视频一区二区| 12—13女人毛片做爰片一| 99精国产麻豆久久婷婷| 成人18禁高潮啪啪吃奶动态图| 国产成人啪精品午夜网站| 亚洲熟女毛片儿| 国产精品九九99| 女人精品久久久久毛片| 不卡一级毛片| 亚洲av第一区精品v没综合| 日韩欧美在线二视频| 中文亚洲av片在线观看爽| 十八禁网站免费在线| 精品一区二区三区四区五区乱码| 亚洲熟女毛片儿| av有码第一页| 成熟少妇高潮喷水视频| 少妇粗大呻吟视频| 国产成人精品久久二区二区91| 丰满迷人的少妇在线观看| 97碰自拍视频| av网站免费在线观看视频| 亚洲精品国产色婷婷电影| 大型黄色视频在线免费观看| 国产精品 国内视频| 国产激情欧美一区二区| 国产免费av片在线观看野外av| 一级作爱视频免费观看| 97人妻天天添夜夜摸| 一二三四社区在线视频社区8| 美女 人体艺术 gogo| 老熟妇乱子伦视频在线观看| 19禁男女啪啪无遮挡网站| 国产精品亚洲av一区麻豆| av免费在线观看网站| 国产欧美日韩精品亚洲av| 成人国语在线视频| 亚洲国产欧美日韩在线播放| 亚洲一码二码三码区别大吗| 91精品国产国语对白视频| 久久狼人影院| 99精品久久久久人妻精品| 欧美日韩瑟瑟在线播放| 久久久久久大精品| 欧美大码av| 日本五十路高清| 中亚洲国语对白在线视频| 在线观看免费高清a一片| 国产不卡一卡二| 久久久国产成人免费| 久久精品亚洲熟妇少妇任你| 五月开心婷婷网| 亚洲精品国产一区二区精华液| 国产高清视频在线播放一区| 午夜福利在线观看吧| 一级毛片精品| 另类亚洲欧美激情| 亚洲免费av在线视频| 午夜两性在线视频| 最近最新中文字幕大全免费视频| 在线观看免费高清a一片| 男女做爰动态图高潮gif福利片 | 国内久久婷婷六月综合欲色啪| 欧美+亚洲+日韩+国产| 最近最新免费中文字幕在线| 国产成+人综合+亚洲专区| 欧美黄色片欧美黄色片| 婷婷丁香在线五月| 亚洲伊人色综图| 视频在线观看一区二区三区| 欧美性长视频在线观看| 亚洲av电影在线进入| 伦理电影免费视频| 久久狼人影院| 国产区一区二久久| 免费在线观看影片大全网站| 久久久久九九精品影院| a级毛片黄视频| 欧美激情极品国产一区二区三区| xxx96com| 两个人免费观看高清视频| 精品无人区乱码1区二区| 麻豆成人av在线观看| 视频区欧美日本亚洲| 亚洲欧洲精品一区二区精品久久久| 99国产极品粉嫩在线观看| 午夜福利在线观看吧| 精品久久久精品久久久| 亚洲av日韩精品久久久久久密| 亚洲精品国产色婷婷电影| 久久人人精品亚洲av| 91国产中文字幕| 欧美激情久久久久久爽电影 | 老鸭窝网址在线观看| 亚洲av成人一区二区三| 亚洲熟妇中文字幕五十中出 | 日韩欧美三级三区| 老司机午夜福利在线观看视频| 日韩中文字幕欧美一区二区| 亚洲一码二码三码区别大吗| 咕卡用的链子| 成人免费观看视频高清| 精品国内亚洲2022精品成人| 国产av一区二区精品久久| 夜夜夜夜夜久久久久| 欧美日韩黄片免| av网站免费在线观看视频| 中文字幕高清在线视频| 亚洲av美国av| 国产人伦9x9x在线观看| 婷婷六月久久综合丁香| 婷婷丁香在线五月| 日韩成人在线观看一区二区三区| 日本vs欧美在线观看视频| 麻豆久久精品国产亚洲av | 久久婷婷成人综合色麻豆| 夜夜爽天天搞| 久久精品亚洲熟妇少妇任你| 少妇裸体淫交视频免费看高清 | 亚洲熟妇中文字幕五十中出 | 99精品欧美一区二区三区四区| 中出人妻视频一区二区| 男女午夜视频在线观看| 久久久精品国产亚洲av高清涩受| 丝袜在线中文字幕| 如日韩欧美国产精品一区二区三区| 午夜激情av网站| 久久人妻福利社区极品人妻图片| 日日夜夜操网爽| 他把我摸到了高潮在线观看| 黑人猛操日本美女一级片| 91成人精品电影| 女警被强在线播放| 麻豆久久精品国产亚洲av | 国产深夜福利视频在线观看| 如日韩欧美国产精品一区二区三区| 欧美日韩精品网址| 啪啪无遮挡十八禁网站| 岛国在线观看网站| 高清黄色对白视频在线免费看| 欧美日韩国产mv在线观看视频| 亚洲熟妇中文字幕五十中出 | 国产亚洲欧美在线一区二区| 欧美最黄视频在线播放免费 | 99久久综合精品五月天人人| 亚洲成人精品中文字幕电影 | 黄网站色视频无遮挡免费观看| 交换朋友夫妻互换小说| 色婷婷久久久亚洲欧美| 亚洲国产精品一区二区三区在线| 欧美人与性动交α欧美软件| 黄频高清免费视频| 国产精品乱码一区二三区的特点 | 久久久久久亚洲精品国产蜜桃av| 国产精品影院久久| bbb黄色大片| 色哟哟哟哟哟哟| 欧美在线一区亚洲| 欧美日韩精品网址| 一级片免费观看大全| 国产精品乱码一区二三区的特点 | 久久久久国产一级毛片高清牌| 在线十欧美十亚洲十日本专区| 亚洲中文av在线| 国产成人av激情在线播放| 亚洲视频免费观看视频| 国产人伦9x9x在线观看| 18禁国产床啪视频网站| 丰满迷人的少妇在线观看| 国产av一区二区精品久久| 欧美日韩亚洲国产一区二区在线观看| 国产不卡一卡二| 久久精品国产99精品国产亚洲性色 | 在线观看免费视频日本深夜| 99riav亚洲国产免费| 成年版毛片免费区| 亚洲五月天丁香| 欧美国产精品va在线观看不卡| 国内毛片毛片毛片毛片毛片| 美国免费a级毛片| 国产一区二区三区在线臀色熟女 | 狠狠狠狠99中文字幕| 欧美乱码精品一区二区三区| 精品国产乱码久久久久久男人| 精品高清国产在线一区| 亚洲人成77777在线视频| 国产精品野战在线观看 | 精品国产国语对白av| 国产三级黄色录像| 一级毛片高清免费大全| 日韩三级视频一区二区三区| 可以在线观看毛片的网站| 深夜精品福利| 黄色怎么调成土黄色| 在线免费观看的www视频| 黄色丝袜av网址大全| 两个人免费观看高清视频| 亚洲男人的天堂狠狠| 国产又色又爽无遮挡免费看| 欧洲精品卡2卡3卡4卡5卡区| 黄色女人牲交| 久久热在线av| 一二三四社区在线视频社区8| 久久人人爽av亚洲精品天堂| 亚洲av成人av| 国产激情欧美一区二区| 国产精品爽爽va在线观看网站 | 日韩一卡2卡3卡4卡2021年| 日韩免费av在线播放| 欧美日韩一级在线毛片| 神马国产精品三级电影在线观看 | 一进一出好大好爽视频| 级片在线观看| 男女床上黄色一级片免费看| 国产99久久九九免费精品| 亚洲av成人av| 精品高清国产在线一区| 亚洲九九香蕉| 99国产精品一区二区三区| 51午夜福利影视在线观看| 国产精品乱码一区二三区的特点 | √禁漫天堂资源中文www| 亚洲精品久久成人aⅴ小说| 国产亚洲欧美精品永久| 日韩欧美一区视频在线观看| 国产精品永久免费网站| 亚洲av美国av| 亚洲精品av麻豆狂野| 国产精品九九99| 一级毛片高清免费大全| 国产av精品麻豆| 国产熟女xx| 欧美日韩亚洲综合一区二区三区_| 黑人操中国人逼视频| 久久中文字幕一级| 美国免费a级毛片| 黄频高清免费视频| av免费在线观看网站| 亚洲一区二区三区欧美精品| 在线观看www视频免费| 制服诱惑二区| 国产深夜福利视频在线观看| 狂野欧美激情性xxxx| 欧美av亚洲av综合av国产av| 欧美中文综合在线视频| 国产精品免费一区二区三区在线| 夜夜躁狠狠躁天天躁| 免费高清视频大片| 麻豆一二三区av精品| 久久久精品欧美日韩精品| 搡老熟女国产l中国老女人| 日本免费a在线| 欧美精品啪啪一区二区三区| 亚洲一区二区三区欧美精品| 麻豆久久精品国产亚洲av | 国产又色又爽无遮挡免费看| 级片在线观看| 在线天堂中文资源库| 黄色毛片三级朝国网站| av在线天堂中文字幕 | 一个人免费在线观看的高清视频| 老司机深夜福利视频在线观看| 国产成人精品无人区| 国产精品一区二区精品视频观看| 成人手机av| 夜夜看夜夜爽夜夜摸 | 亚洲精品一卡2卡三卡4卡5卡| 丝袜人妻中文字幕| 国产精品综合久久久久久久免费 | 日本三级黄在线观看| 欧美老熟妇乱子伦牲交| 窝窝影院91人妻| 久久久精品欧美日韩精品| 亚洲自偷自拍图片 自拍| 免费人成视频x8x8入口观看| 欧美成人午夜精品| 99热国产这里只有精品6| 99久久人妻综合| 狂野欧美激情性xxxx| 在线观看免费视频网站a站| 中文字幕最新亚洲高清| 女生性感内裤真人,穿戴方法视频| 国产亚洲精品综合一区在线观看 | 国产成人欧美| 日韩一卡2卡3卡4卡2021年| 丁香欧美五月| 制服人妻中文乱码| 琪琪午夜伦伦电影理论片6080| 国产亚洲精品综合一区在线观看 | 亚洲av日韩精品久久久久久密| 亚洲精品av麻豆狂野| 国产精品自产拍在线观看55亚洲| 色婷婷久久久亚洲欧美| 一区二区三区精品91| 女人被躁到高潮嗷嗷叫费观| 久久久精品国产亚洲av高清涩受| 在线视频色国产色| 国产精品永久免费网站| 在线天堂中文资源库| 咕卡用的链子| 一级,二级,三级黄色视频| 精品国产超薄肉色丝袜足j| 操出白浆在线播放| 天天影视国产精品| 欧美大码av| 国产三级黄色录像| 老司机亚洲免费影院| 日韩大码丰满熟妇| 成人国产一区最新在线观看| 久久久久国产一级毛片高清牌| 丰满的人妻完整版| 日日夜夜操网爽| 久久人妻福利社区极品人妻图片| 亚洲专区国产一区二区| 在线观看免费午夜福利视频| 神马国产精品三级电影在线观看 | 啦啦啦 在线观看视频| 女人爽到高潮嗷嗷叫在线视频| 精品福利永久在线观看| 亚洲精品中文字幕在线视频| 国产亚洲欧美98| 亚洲片人在线观看| 日韩大尺度精品在线看网址 | 欧美黄色淫秽网站| 黄色女人牲交| 99国产精品99久久久久| 人成视频在线观看免费观看| 丝袜在线中文字幕| 精品久久蜜臀av无| 国产成年人精品一区二区 | 午夜福利在线观看吧| 99久久久亚洲精品蜜臀av| 性少妇av在线| av视频免费观看在线观看| 一级毛片女人18水好多| 午夜亚洲福利在线播放| 久久香蕉精品热| 视频区图区小说| 美女午夜性视频免费| 最新美女视频免费是黄的| 国产三级黄色录像| 老熟妇乱子伦视频在线观看| 一级作爱视频免费观看| 国产一区在线观看成人免费| 啦啦啦在线免费观看视频4| 国产伦人伦偷精品视频| 精品国产亚洲在线| 亚洲成a人片在线一区二区| 国产免费av片在线观看野外av| 可以在线观看毛片的网站| 亚洲精品中文字幕一二三四区| 日韩中文字幕欧美一区二区| av片东京热男人的天堂| 午夜福利一区二区在线看| 日日夜夜操网爽| 亚洲性夜色夜夜综合| 变态另类成人亚洲欧美熟女 | 亚洲av成人一区二区三| 中亚洲国语对白在线视频| 999久久久国产精品视频| 成人亚洲精品av一区二区 | 欧美乱码精品一区二区三区| 丝袜人妻中文字幕| 亚洲少妇的诱惑av| 制服人妻中文乱码| 欧美日韩亚洲综合一区二区三区_| 亚洲五月色婷婷综合| 一进一出抽搐动态| 精品人妻在线不人妻| 99国产精品99久久久久| 中亚洲国语对白在线视频| 久久人人97超碰香蕉20202| 午夜久久久在线观看| 国产一区二区激情短视频| 高清欧美精品videossex| 超色免费av| 新久久久久国产一级毛片| 亚洲精品国产色婷婷电影| 亚洲av电影在线进入| 一级黄色大片毛片| 18禁黄网站禁片午夜丰满| 亚洲精品在线观看二区| www国产在线视频色| 亚洲精品一二三| 搡老熟女国产l中国老女人| 亚洲七黄色美女视频| 欧美日韩精品网址| 91国产中文字幕| 亚洲国产精品999在线| 精品一区二区三区av网在线观看| 欧美日韩乱码在线| 国产一区二区三区视频了| 久久久久国产一级毛片高清牌| 亚洲久久久国产精品| 日韩国内少妇激情av| 成年人黄色毛片网站| 免费少妇av软件| 日日夜夜操网爽| av网站免费在线观看视频| 成人国产一区最新在线观看| 久久久久精品国产欧美久久久| 久久久精品欧美日韩精品| 国产亚洲精品久久久久久毛片| 亚洲欧美激情综合另类| 在线免费观看的www视频| 国产免费男女视频| 国产欧美日韩一区二区精品| avwww免费| 久久国产亚洲av麻豆专区| 国产精品久久视频播放| 男女午夜视频在线观看| 50天的宝宝边吃奶边哭怎么回事| 久久精品国产亚洲av高清一级| 午夜视频精品福利| www.精华液| 一个人免费在线观看的高清视频| 亚洲成人免费电影在线观看| 精品久久蜜臀av无| 五月开心婷婷网| 亚洲五月色婷婷综合| 欧美黄色淫秽网站| 久久久水蜜桃国产精品网| 水蜜桃什么品种好| x7x7x7水蜜桃| 88av欧美| www日本在线高清视频| 日本一区二区免费在线视频| 80岁老熟妇乱子伦牲交| 亚洲一区二区三区不卡视频| 国产精品成人在线| 在线观看一区二区三区| 9191精品国产免费久久| 成年人黄色毛片网站| 男人舔女人下体高潮全视频| 亚洲av片天天在线观看| 成人手机av| 国产精品香港三级国产av潘金莲| 麻豆一二三区av精品| 高清毛片免费观看视频网站 | 国产精品秋霞免费鲁丝片| 亚洲,欧美精品.| 亚洲国产精品合色在线| 黄色片一级片一级黄色片| 亚洲成人国产一区在线观看| 色婷婷久久久亚洲欧美| 国产麻豆69| 88av欧美| 精品福利观看| 亚洲免费av在线视频| 在线天堂中文资源库| 亚洲精品成人av观看孕妇| 亚洲第一欧美日韩一区二区三区| 琪琪午夜伦伦电影理论片6080| 亚洲熟女毛片儿| 高清av免费在线| av在线天堂中文字幕 | 在线观看免费日韩欧美大片| 巨乳人妻的诱惑在线观看| 一级毛片高清免费大全| 久久精品亚洲av国产电影网| av欧美777| av电影中文网址| 欧美日韩福利视频一区二区| 欧美老熟妇乱子伦牲交| 亚洲午夜精品一区,二区,三区| x7x7x7水蜜桃|