成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)

ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)

熱門(mén)標(biāo)簽:旅游地圖標(biāo)注線路 電銷(xiāo)專(zhuān)用外呼線路 廣西房產(chǎn)智能外呼系統(tǒng)推薦 電話機(jī)器人鑰匙扣 威力最大的電銷(xiāo)機(jī)器人 地圖標(biāo)注位置怎么弄圖 電銷(xiāo)外呼系統(tǒng)是違法的嗎 漯河外呼調(diào)研線路 400電話唐山辦理

上次業(yè)務(wù)邏輯和展示層的架構(gòu)都寫(xiě)了,可以開(kāi)始進(jìn)行具體功能的實(shí)現(xiàn),這次先實(shí)現(xiàn)管理員的登錄、驗(yàn)證和注銷(xiāo)功能。

一、業(yè)務(wù)邏輯層1、實(shí)現(xiàn)256散列加密方法。

Ninesky.Core【右鍵】-> 添加->文件夾,輸入文件夾名General。

General文件夾【右鍵】->添加->類(lèi),輸入類(lèi)名Security。

引用System.Security.Cryptography命名空間(1),并實(shí)現(xiàn)SHA256靜態(tài)加密方法。

2、Administrator模型類(lèi)

Ninesky.Core【右鍵】-> 添加->類(lèi),輸入類(lèi)名Administrator。

添加引用System.ComponentModel.DataAnnotations; 完成的類(lèi)代碼

using System;
using System.ComponentModel.DataAnnotations;

namespace Ninesky.Core
{
 /// summary>
 /// 管理員模型
 /// /summary>
 public class Administrator
 {
  [Key]
  public int AdministratorID { get; set; }

  /// summary>
  /// 帳號(hào)
  /// /summary>
  [Required(ErrorMessage = "必須輸入{0}")]
  [StringLength(30, MinimumLength = 4, ErrorMessage ="{0}長(zhǎng)度為{2}-{1}個(gè)字符")]
  [Display(Name ="帳號(hào)")]
  public string Accounts { get; set; }

  /// summary>
  /// 密碼
  /// /summary>
  [DataType(DataType.Password)]
  [Required(ErrorMessage = "必須輸入{0}")]
  [StringLength(256,ErrorMessage = "{0}長(zhǎng)度少于{1}個(gè)字符")]
  [Display(Name = "密碼")]
  public string Password { get; set; }

  /// summary>
  /// 登錄IP
  /// /summary>
  [Display(Name = "登錄IP")]
  public string LoginIP { get; set; }

  /// summary>
  /// 登錄時(shí)間
  /// /summary>
  [Display(Name = "登錄時(shí)間")]
  public NullableDateTime> LoginTime { get; set; }

  /// summary>
  /// 創(chuàng)建時(shí)間
  /// /summary>
  [Display(Name = "創(chuàng)建時(shí)間")]
  public DateTime CreateTime { get; set; }
 }
}

3、數(shù)據(jù)上下文

打開(kāi)Ninesky.Core->NineskyContext.cs 添加Administrators屬性

紅框內(nèi)為添加內(nèi)容。

4、AdministratorManager管理類(lèi)

Ninesky.Core【右鍵】-> 添加->類(lèi),輸入類(lèi)名AdministratorManager。

類(lèi)繼承自BaseManagerAdministrator>。

為類(lèi)添加Ninesky.Core.Types引用。

using Ninesky.Core.Types;
using System;

namespace Ninesky.Core
{
 public class AdministratorManager : BaseManagerAdministrator>
 {
 /// summary>
 /// 添加
 /// /summary>
 /// param name="admin">管理員實(shí)體/param>
 /// returns>/returns>
 public override Response Add(Administrator admin)
 {
  Response _resp = new Response();
  if (HasAccounts(admin.Accounts))
  {
  _resp.Code = 0;
  _resp.Message = "帳號(hào)已存在";
  }
  else _resp = base.Add(admin);
  return _resp;
 }

 /// summary>
 /// 修改密碼
 /// /summary>
 /// param name="administratorID">主鍵/param>
 /// param name="password">新密碼【密文】/param>
 /// returns>/returns>
 public Response ChangePassword(int administratorID, string password)
 {
  Response _resp = new Response();
  var _admin = Find(administratorID);
  if (_admin == null)
  {
  _resp.Code = 0;
  _resp.Message = "該主鍵的管理員不存在";
  }
  else
  {
  _admin.Password = password;
  _resp = Update(_admin);
  }
  return _resp;
 }

 /// summary>
 /// 刪除
 /// /summary>
 /// param name="administratorID">主鍵/param>
 /// returns>/returns>
 public override Response Delete(int administratorID)
 {
  Response _resp = new Response();
  if (Count() == 1)
  {
  _resp.Code = 0;
  _resp.Message = "不能刪除唯一的管理員帳號(hào)";
  }
  else _resp = base.Delete(administratorID);
  return _resp;
 }

 /// summary>
 /// 查找
 /// /summary>
 /// param name="accounts">帳號(hào)/param>
 /// returns>/returns>
 public Administrator Find(string accounts)
 {
  return base.Repository.Find(a => a.Accounts == accounts);
 }

 /// summary>
 /// 帳號(hào)是否存在
 /// /summary>
 /// param name="accounts">帳號(hào)/param>
 /// returns>/returns>
 public bool HasAccounts(string accounts)
 {
  return base.Repository.IsContains(a => a.Accounts.ToUpper() == accounts.ToUpper());
 }

 /// summary>
 /// 更新登錄信息
 /// /summary>
 /// param name="administratorID">主鍵/param>
 /// param name="ip">IP地址/param>
 /// param name="time">時(shí)間/param>
 /// returns>/returns>
 public Response UpadateLoginInfo(int administratorID, string ip, DateTime time)
 {
  Response _resp = new Response();
  var _admin = Find(administratorID);
  if (_admin == null)
  {
  _resp.Code = 0;
  _resp.Message = "該主鍵的管理員不存在";
  }
  else
  {
  _admin.LoginIP = ip;
  _admin.LoginTime = time;
  _resp = Update(_admin);
  }
  return _resp;
 }

 /// summary>
 /// 驗(yàn)證
 /// /summary>
 /// param name="accounts">帳號(hào)/param>
 /// param name="password">密碼【密文】/param>
 /// returns>Code:1-成功;2-帳號(hào)不存在;3-密碼錯(cuò)誤/returns>
 public Response Verify(string accounts, string password)
 {
  Response _resp = new Response();
  var _admin = base.Repository.Find(a => a.Accounts == accounts);
  if (_admin == null)
  {
  _resp.Code = 2;
  _resp.Message = "帳號(hào)為:【" + accounts + "】的管理員不存在";
  }
  else if (_admin.Password == password)
  {
  _resp.Code = 1;
  _resp.Message = "驗(yàn)證通過(guò)";
  }
  else
  {
  _resp.Code = 3;
  _resp.Message = "帳號(hào)密碼錯(cuò)誤";
  }
  return _resp;
 }
 }
}

二、展示層實(shí)現(xiàn)

首先,添加css。

Ninesky.Web->Content【右鍵】->添加->試樣表,輸入名稱(chēng)StyleControl。

打開(kāi)Ninesky.Web->App_Start->BundleConfig.cs。

添加紅框內(nèi)代碼。StyleControl.css具體內(nèi)容這里省略了。

其次,添加對(duì)Ninesky.Core的引用。

Ninesky.Web->引用【右鍵】->添加引用.。在引用管理器中選擇 項(xiàng)目->解決方案->Ninesky.Core.

處理完這兩項(xiàng)內(nèi)容就繼續(xù)具體內(nèi)容了:

1、管理員身份驗(yàn)證類(lèi)AdminAuthorizeAttribute

AdminAuthorizeAttribute繼承自AuthorizeAttribute,重寫(xiě)AuthorizeCore方法,通過(guò)Session["AdminID"]來(lái)判斷管理員是否已經(jīng)登錄,重寫(xiě)HandleUnauthorizedRequest方法來(lái)處理未登錄時(shí)的頁(yè)面跳轉(zhuǎn)。

using System.Web;
using System.Web.Mvc;

namespace Ninesky.Web.Areas.Control
{
 /// summary>
 /// 管理員身份驗(yàn)證類(lèi)
 /// /summary>
 public class AdminAuthorizeAttribute : AuthorizeAttribute
 {
 /// summary>
 /// 重寫(xiě)自定義授權(quán)檢查
 /// /summary>
 /// returns>/returns>
 protected override bool AuthorizeCore(HttpContextBase httpContext)
 {
  if (httpContext.Session["AdminID"] == null) return false;
  else return true;
 }
 /// summary>
 /// 重寫(xiě)未授權(quán)的 HTTP 請(qǐng)求處理
 /// /summary>
 protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
 {
  filterContext.Result = new RedirectResult("~/Control/Admin/Login");
 }
 }
}

Ninesky.Web->Areas->Control【右鍵】->添加->類(lèi),輸入控制器名稱(chēng)HomeController。

為HomeController添加[AdminAuthorize]

2、管理員控制器Ninesky.Web->Areas->Control->Controllers【右鍵】->添加->控制器。選擇 MVC5 控制器 – 空, 輸入控制器名稱(chēng)Admin。

在控制器中引用Ninesky.Core、Ninesky.Core.GeneralNinesky.Web.Areas.Control.Models命名空間。

添加私有變量private AdministratorManager adminManager = new AdministratorManager();

為AdminController添加[AdminAuthorize]

3.1 管理員登錄

3.1.1 登錄視圖模型

Ninesky.Web->Areas->Control->Models【右鍵】->添加->類(lèi),輸入類(lèi)名LoginViewModel。

namespace Ninesky.Web.Areas.Control.Models
{
 /// summary>
 /// 登錄模型
 /// /summary>
 public class LoginViewModel
 {
 /// summary>
 /// 帳號(hào)
 /// /summary>
 [Required(ErrorMessage = "必須輸入{0}")]
 [StringLength(30, MinimumLength = 4, ErrorMessage = "{0}長(zhǎng)度為{2}-{1}個(gè)字符")]
 [Display(Name = "帳號(hào)")]
 public string Accounts { get; set; }

 /// summary>
 /// 密碼
 /// /summary>
 [DataType(DataType.Password)]
 [Required(ErrorMessage = "必須輸入{0}")]
 [StringLength(20,MinimumLength =6, ErrorMessage = "{0}長(zhǎng)度{2}-{1}個(gè)字符")]
 [Display(Name = "密碼")]
 public string Password { get; set; }
 }
}

3.1.2 登錄方法

在AdminController中添加Login()方法

/// summary>
 /// 登錄
 /// /summary>
 /// returns>/returns>
 [AllowAnonymous]
 public ActionResult Login()
 {
  return View();
 }

3.1.3 登錄視圖

Login()方法上點(diǎn)【右鍵】->添加視圖

模板選Create,模型類(lèi)選LoginViewModel ,選項(xiàng)選中引用腳本庫(kù)。完成后代碼

@model Ninesky.Web.Areas.Control.Models.LoginViewModel

@{
 Layout = null;
}

!DOCTYPE html>

html>
head>
 meta name="viewport" content="width=device-width" />
 title>登錄/title>
 @Styles.Render("~/Content/controlcss")
 @Scripts.Render("~/bundles/modernizr")
/head>
body>
 @Scripts.Render("~/bundles/jquery")
 @Scripts.Render("~/bundles/jqueryval")

 div class="loginform">


 div class="form-horizontal">
  h2 class="text-primary">登錄/h2>
  @using (Html.BeginForm())
  {
  @Html.AntiForgeryToken()
  @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  div class="form-group form-group-lg">
   @Html.EditorFor(model => model.Accounts, new { htmlAttributes = new { @class = "form-control", placeholder = "帳號(hào)" } })
   @Html.ValidationMessageFor(model => model.Accounts, "", new { @class = "text-danger" })
  /div>
  div class="form-group form-group-lg">
   @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control", placeholder = "密碼" } })
   @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
  /div>
  div class="form-group form-group-lg">
   input type="submit" value="登錄" class="btn btn-default pull-right" />
  /div>
  }
 /div>

 /div>
/body>
/html>

在AdminController中添加登錄的處理方法public ActionResult Login(LoginViewModel loginViewModel)

[AllowAnonymous]
 [ValidateAntiForgeryToken]
 [HttpPost]
 public ActionResult Login(LoginViewModel loginViewModel)
 {
  if(ModelState.IsValid)
  {
  string _passowrd = Security.SHA256(loginViewModel.Password);
  var _response = adminManager.Verify(loginViewModel.Accounts, _passowrd);
  if (_response.Code == 1)
  {
   var _admin = adminManager.Find(loginViewModel.Accounts);
   Session.Add("AdminID", _admin.AdministratorID);
   Session.Add("Accounts", _admin.Accounts);
   _admin.LoginTime = DateTime.Now;
   _admin.LoginIP = Request.UserHostAddress;
   adminManager.Update(_admin);
   return RedirectToAction("Index", "Home");
  }
  else if (_response.Code == 2) ModelState.AddModelError("Accounts", _response.Message);
  else if (_response.Code == 3) ModelState.AddModelError("Password", _response.Message);
  else ModelState.AddModelError("",_response.Message);
  }
  return View(loginViewModel);
 }

4、注銷(xiāo)

在AdminController中添加注銷(xiāo)的處理方法public ActionResult Logout()

/// summary>
 /// 注銷(xiāo)
 /// /summary>
 /// returns>/returns>
 public ActionResult Logout()
 {
  Session.Clear();
  return RedirectToAction("Login");
 }

完工可以按F5測(cè)試了。

登錄界面,輸入帳號(hào)mzwhj 密碼123456,登錄成功。

登錄成功界面。

=====================================================

代碼見(jiàn):https://ninesky.codeplex.com/SourceControl/latest

代碼下載:https://ninesky.codeplex.com 點(diǎn)擊SOURCE CODE 點(diǎn)擊Download下載源文件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • [Asp.Net MVC4]驗(yàn)證用戶登錄實(shí)現(xiàn)實(shí)例
  • Asp.net mvc驗(yàn)證用戶登錄之Forms實(shí)現(xiàn)詳解

標(biāo)簽:焦作 無(wú)錫 試駕邀約 銅陵 欽州 湖北 湘西 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)》,本文關(guān)鍵詞  ASP.NET,MVC5,網(wǎng),站開(kāi),發(fā)之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品香蕉| 日韩成人黄色av| 免费三级欧美电影| 国产欧美精品一区二区色综合| 美女被黑人爆操网站| 91av一区| 亚洲影院高清在线| 欧美日本一区二区在线观看| 色香蕉成人二区免费| 日本成人在线不卡视频| 性一交一乱一伦一色一情| 天天操天天操天天操天天操天天操| 国语自产精品视频在线看一大j8| 无码人妻一区二区三区免费n鬼沢| 九九大香尹人视频免费| 国产精品69久久久久孕妇欧美| 少妇特黄一区二区三区| 久久久久久久久国产一区| 亚洲九九九在线观看| 一级片免费在线| 国产精品自拍在线观看| 中文字幕一区二区三区精彩视频| 国产精品久久一| 中文字幕在线观看av| 91中文字幕在线视频| 亚洲另类欧美自拍| 成人日韩精品| 日本一区二区中文字幕| 狠狠干成人综合网| 凸凹人妻人人澡人人添| 欧美丝袜一区二区| 精品入口麻豆传煤| 黄色www在线观看| 91精品久久久久久久蜜月| 91tv国产成人福利| 精品国产乱码一区二区三区四区| 成人免费在线视频网址| 韩国成人动漫在线观看| xxxxx欧美| 97se狠狠狠综合亚洲狠狠| 国产精品永久在线| 国产精品伦一区二区三区级视频频| 免费一级a毛片夜夜看| 狠狠色噜噜狠狠狠888奇米| 91久久国产最好的精华液| 亚洲婷婷久久综合| 99成人在线| 99国产精品一区| 91国在线高清视频| 69精品人人人人| 中文字幕精品一区日韩| www网站在线观看| 黄色av地址| 一区二区福利视频| 中文官网资源新版中文第二页在线观看| 婷婷视频在线| 中文字幕不卡三区视频| 91高清在线观看| 最新中文字幕在线观看视频| 丰满少妇久久久| 91高清视频在线| 一区二区三区毛片免费| 中文字幕欧美人妻精品一区| 欧美色蜜桃97| 日日嗨av一区二区三区四区| 成人黄色av片| 欧美大肚乱孕交hd孕妇| 久久视频这里只有精品| 精品国产乱码久久久久久婷婷| 天天综合网日韩| 7777精品久久久大香线蕉小说| 欧美精品乱码久久久久久| 国产ts人妖调教重口男| 快播av资源| 天天色天天射天天综合网| 国产偷人爽久久久久久老妇app| 99久热re在线精品996热视频| 日韩理论片在线| 综合另类专区| mm1313亚洲国产精品无码试看| 天天骑天天射| 久久在线视频在线| 天使と恶魔の榨精在线播放| 动漫h在线观看| 欧美三级网站| 亚洲va国产va欧美va观看| 亚洲成人亚洲激情| 小泽玛利亚视频在线观看| 亚洲国产精品99| 肉色超薄丝袜脚交一区二区| 国产精品爽爽久久| 国产精品h在线观看| 亚洲小说区图片区都市| 污污网站在线观看| 国产小视频一区| 精品视频在线播放一区二区三区| 国产欧美精品久久久| 亚洲男人影院| 午夜精品久久久久久99热软件| 精品国产美女| 成人性生交大片免费看网站| 娇小的粉嫩xxx极品| xvideos入口| 日韩在线一区二区| 北条麻妃国产九九精品视频| 色婷婷av一区二区三区gif| 亚洲欧洲日本精品| 中文字幕欧美一区| 国产午夜精品一区二区理论影院| 久久亚洲免费视频| 七七久久电影网| 欧美美女性视频| 中文字幕第一页在线视频| 精品欧美日韩| 伊人成综合网yiren22| 亚洲免费综合| 日韩精品一区二区三区视频播放| wwwxxx国产| 秋霞午夜一区二区| 美女av免费在线观看| 久久激情久久| 成年免费网站| 欧美日韩日本国产| 这里只有精品视频在线观看| 久草手机在线视频| aaa免费在线观看| 日韩一区二区精品葵司在线| 色偷偷噜噜噜亚洲男人| 黄视频在线观看www| 久久尤物电影视频在线观看| 日韩精品久久| 欧美激情偷拍| 国产成人精品亚洲日本在线桃色| 隔壁人妻偷人bd中字| 三上亚洲一区二区| 福利在线视频导航| 人人精品亚洲| 波多野结衣小视频| www.91av.com| 综合图区亚洲| 成人h动漫精品| 无套内谢的新婚少妇国语播放| 91黄视频在线观看| 91caoporm在线视频| 5g国产欧美日韩视频| 亚洲老板91色精品久久| 欧美大片在线观看一区二区| 国产精品一色哟哟| 99精品久久| 欧亚精品一区| 亚洲福利小视频| 亚洲av无码国产综合专区| 亚洲乱码国产一区三区| 日韩精品免费一区二区三区| 欧洲美女亚洲激情| av在线不卡观看| 欧美在线播放| 国内老熟妇对白hdxxxx| 黄色网页免费在线观看| 国产精品福利无圣光在线一区| 成人毛片在线观看| 亚洲电影成人成人影院| 91在线|亚洲| 欧美一级高清片在线观看| 手机在线播放av| 日本免费中文字幕在线| 成人国产精品一区二区| 免费在线成人av电影| 久久成人精品一区二区三区| 三上悠亚国产精品一区二区三区| 成人黄色片在线| 日韩欧美一级二级三级久久久| 国产在线精品观看| 顶级欧美妇高清xxxxx| 在线影院国内精品| 91精品国产丝袜白色高跟鞋| 亚洲男人天堂网址| 亚洲偷欧美偷国内偷| 亚洲日本成人| 欧美日韩一区二区在线观看视频| 婷婷中文字幕一区| 亚洲国产日韩a在线播放| 欧美三级午夜理伦三级在线观看| 精品视频一二区| 国产尤物99| 欧美日韩中文精品| 无码日韩精品一区二区免费| 国产精品久久久久久久久久精爆| 99国内精品久久| 亚洲日本国产精品| 97在线视频精品| 亚洲欧美日韩综合一区| 91亚洲国产成人精品性色| 免费观看一级视频| h视频免费网站| 欧美一区二区三区免费在线看| 超碰cao国产精品一区二区| 四虎精品永久免费| 精品亚洲a∨| 91caoporm在线视频| 2019日本中文字幕| heyzo一区| 91www成人久久| 最好看的2019年中文视频| 日本中文字幕中出在线| 日本中文字幕视频在线| 伊人成人222| 精精国产xxx在线视频app| 国产噜噜噜噜久久久久久久久| 亚洲欧美自拍视频| 天堂在线一区二区| 国产高潮流白浆| 一道本无吗dⅴd在线播放一区| 麻豆影视在线观看_| 日韩一区二区三区高清在线观看| 人妻无码中文字幕免费视频蜜桃| 久久久久久福利| 在线视频三区| www..69.hd| 日本vs亚洲vs韩国一区三区二区| 91麻豆桃色免费看| 五月婷婷伊人网| 色婷婷av一区二区三区大白胸| 欧洲av无码放荡人妇网站| 国产综合婷婷| 亚洲人成绝费网站色www| av2014天堂网| 欧洲永久精品大片ww免费漫画| 欧美理论在线| 国产成人精品久久二区二区| 中文字幕乱码中文字幕| 91精品国产一区二区三区| 国产呦精品一区二区三区网站| 中文字幕男人天堂| 国产一区免费| 黄色精品免费| а√天堂官网中文在线| 国产十六处破外女视频| 极品销魂一区二区三区| 伊人影院在线播放| 污污网站在线看| 国产成人精品男人的天堂538| 一区二区精品| 国产成人三级在线观看视频| 中文字幕va一区二区三区| 免费精品一区二区三区在线观看| 免费成人看片网址| 日本道免费精品一区二区三区| 国产一区免费在线| 特黄特色特刺激视频免费播放| av网站免费在线播放| 亚洲网站视频在线观看| 欧美日韩国产成人在线观看| 欧美电影影音先锋| 久久99国产精品自在自在app| 国产成人自拍视频在线| 免费日本黄色网址| 久久精品一区八戒影视| 日本大臀精品| 国产成人在线免费观看| 色婷婷精品久久二区二区蜜臀av| 日韩免费高清视频网站| 日韩欧美电影一区二区| 精品国产麻豆| 久久成人亚洲精品| 天天色综合天天色| 亚洲国产欧美一区二区三区同亚洲| 日本美女爱爱视频| 国产三级三级三级看三级| 欧美一级欧美三级| av在线这里只有精品| 狠狠综合久久av一区二区小说| av在线二区| 一级黄色大片儿| 分分操这里只有精品| av成人天堂| 亚洲国产精品狼友在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 媚黑女一区二区| 国产视频亚洲| 富二代精品短视频| 久久久精品国产一区二区| 樱花草涩涩www在线播放| 国产大学生自拍| 久久99蜜桃综合影院免费观看| 综合久久成人| 精品国产自在久精品国产| 性一交一乱一色一视频麻豆| 久久伊99综合婷婷久久伊| 欧美日韩激情| 日韩欧美大片| 亚洲欧美日本一区二区三区| 日韩hmxxxx| 色一情一乱一伦一区二区三区日本| 97超级碰碰人国产在线观看| 精品一区电影| 成人综合网站| 五月天婷婷导航| 国产私拍精品| 亚洲视频免费在线| 亚洲欧美综合一区| yourporn在线观看中文站| eeuss影院130020部| 妖精视频一区二区三区免费观看| 国产乱码精品1区2区3区| 免费在线观看污网站| 欧美日韩国产不卡| 日韩一区欧美二区| 美国做受三级的视频播放| 一区二区不卡视频在线观看| 亚洲伊人伊色伊影伊综合网| 少妇久久久久久久久久| 国产一区免费在线观看| 一级做a爰片毛片| 国产欧美一区二区白浆黑人| 中文字幕日韩欧美精品高清在线| 国产精华7777777| 欧美24videosex性欧美| 日韩电影在线观看网站| 日本在线免费观看一区| 风韵丰满熟妇啪啪区老熟熟女| 狠狠色丁香九九婷婷综合五月| 美日韩一级片在线观看| 国产91在线观看| 成人亚洲欧美激情在线电影| 亚洲精品一区二区三区99| 九九九九免费视频| 欧美日韩第一区日日骚|