亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > ASP.NET MVC5網站開發用戶登錄、注銷(五)

ASP.NET MVC5網站開發用戶登錄、注銷(五)

熱門標簽:辦公用地圖標注網點怎么操作 安陸市地圖標注app 寧德防封版電銷卡 西寧電銷外呼系統公司 聊城智能電銷機器人電話 海東防封電銷卡 上海市三維地圖標注 云南外呼系統代理 南昌自動外呼系統線路

本文實例為大家分享了ASP.NET MVC5網站開發用戶登錄、注銷的具體方法,供大家參考,具體內容如下

一、創建ClaimsIdentity

ClaimsIdentity(委托基于聲明的標識)是在ASP.NET Identity身份認證系統的登錄時要用到,我們在UserService中來生成它。

1、打開IBLL項目InterfaceUserService接口,添加接口方法ClaimsIdentity CreateIdentity(User user, string authenticationType);

2、打開BLL項目的UserService類,添加CreateIdentity方法的實現代碼

public ClaimsIdentity CreateIdentity(User user, string authenticationType)
 {
 ClaimsIdentity _identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);
 _identity.AddClaim(new Claim(ClaimTypes.Name, user.UserName));
 _identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.UserID.ToString()));
 _identity.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity"));
 _identity.AddClaim(new Claim("DisplayName", user.DisplayName));
 return _identity;
 }

二、獲取AuthenticationManager(認證管理器)

打開Ninesky.Web項目 Member區域的UserController,添加AuthenticationManager屬性,在HttpContext.GetOwinContext()中獲取這個屬性。

#region 屬性
 private IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } }
 #endregion

三、創建登錄視圖模型

Member區域的模型文件夾添加視圖模型

using System.ComponentModel.DataAnnotations;

namespace Ninesky.Web.Areas.Member.Models
{
 /// summary>
 /// 登錄模型
 /// remarks>
 /// 創建:2014.02.16
 /// /remarks>
 /// /summary>
 public class LoginViewModel
 {
 /// summary>
 /// 用戶名
 /// /summary>
 [Required(ErrorMessage = "必填")]
 [StringLength(20, MinimumLength = 4, ErrorMessage = "{2}到{1}個字符")]
 [Display(Name = "用戶名")]
 public string UserName { get; set; }

 /// summary>
 /// 密碼
 /// /summary>
 [Required(ErrorMessage = "必填")]
 [Display(Name = "密碼")]
 [StringLength(20, MinimumLength = 6, ErrorMessage = "{2}到{1}個字符")]
 [DataType(DataType.Password)]
 public string Password { get; set; }

 /// summary>
 /// 記住我
 /// /summary>
 [Display(Name = "記住我")]
 public bool RememberMe { get; set; }
 }
}

四、創建登錄頁面

在UserCcontroller中添加(string returnUrl) action

/// summary>
 /// 用戶登錄
 /// /summary>
 /// param name="returnUrl">返回Url/param>
 /// returns>/returns>
 public ActionResult Login(string returnUrl)
 {
 return View();
 }

右鍵添加強類型視圖,模型為LoginViewModel

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

@{
 ViewBag.Title = "會員登錄";
}

@using (Html.BeginForm()) 
{
 @Html.AntiForgeryToken()
 
 div class="form-horizontal">
 h4>會員登錄/h4>
 hr />
 @Html.ValidationSummary(true)

 div class="form-group">
 @Html.LabelFor(model => model.UserName, new { @class = "control-label col-md-2" })
 div class="col-md-10">
 @Html.EditorFor(model => model.UserName)
 @Html.ValidationMessageFor(model => model.UserName)
 /div>
 /div>

 div class="form-group">
 @Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2" })
 div class="col-md-10">
 @Html.EditorFor(model => model.Password)
 @Html.ValidationMessageFor(model => model.Password)
 /div>
 /div>

 div class="form-group">
 @Html.LabelFor(model => model.RememberMe, new { @class = "control-label col-md-2" })
 div class="col-md-10">
 @Html.EditorFor(model => model.RememberMe)
 @Html.ValidationMessageFor(model => model.RememberMe)
 /div>
 /div>

 div class="form-group">
 div class="col-md-offset-2 col-md-10">
 input type="submit" value="登錄" class="btn btn-default" />
 /div>
 /div>
 /div>
}

@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

效果

五、創建用戶登錄處理action

在UserCcontroller中添加 httppost類型的 Login action中先用ModelState.IsValid看模型驗證是否通過,沒通過直接返回,通過則檢查用戶密碼是否正確。用戶名密碼正確用CreateIdentity方法創建標識,然后用SignOut方法清空Cookies,然后用SignIn登錄。

[ValidateAntiForgeryToken]
 [HttpPost]
 public ActionResult Login(LoginViewModel loginViewModel)
 {
 if(ModelState.IsValid)
 {
 var _user = userService.Find(loginViewModel.UserName);
 if (_user == null) ModelState.AddModelError("UserName", "用戶名不存在");
 else if (_user.Password == Common.Security.Sha256(loginViewModel.Password))
 {
 var _identity = userService.CreateIdentity(_user, DefaultAuthenticationTypes.ApplicationCookie);
 AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
 AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = loginViewModel.RememberMe }, _identity);
 return RedirectToAction("Index", "Home");
 }
 else ModelState.AddModelError("Password", "密碼錯誤");
 }
 return View();
 }

六、修改用戶注冊代碼

讓用戶注冊成功后直接登錄

七、注銷

在UserCcontroller中添加在Logout action

/// summary>
 /// 登出
 /// /summary>
 /// returns>/returns>
 public ActionResult Logout()
 {
 AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
 return Redirect(Url.Content("~/"));
 }

本文已被整理到了《ASP.NET MVC網站開發教程》,歡迎大家學習閱讀,更多內容還可以參考ASP.NET MVC5網站開發專題學習。

本文主要是用到了ClaimsIdentity(基于聲明的標識)、AuthenticationManager的SignOut、SignIn方法。希望對大家實現用戶注冊和注銷有所幫助。

您可能感興趣的文章:
  • asp.net BasePage類+Session通用用戶登錄權限控制
  • ASP.NET中在一般處理程序中使用session的簡單介紹
  • ASP.NET Session使用詳解
  • asp.net(c#)有關 Session 操作的幾個誤區
  • ASP.NET登錄注冊頁面實現
  • 一款經典的ajax登錄頁面 后臺asp.net
  • 基于.Net的單點登錄(SSO)實現解決方案
  • .net MVC使用Session驗證用戶登錄(4)

標簽:南寧 贛州 青海 衢州 洛陽 平涼 汕尾 崇左

巨人網絡通訊聲明:本文標題《ASP.NET MVC5網站開發用戶登錄、注銷(五)》,本文關鍵詞  ASP.NET,MVC5,網站開發,用戶,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET MVC5網站開發用戶登錄、注銷(五)》相關的同類信息!
  • 本頁收集關于ASP.NET MVC5網站開發用戶登錄、注銷(五)的相關信息資訊供網民參考!
  • 推薦文章
    日韩专区亚洲综合久久| 国产原创视频在线| 国产亚洲免费观看| 欧美激情一区二区三区在线| 沈樵在线观看福利| 久草免费在线观看| 国产一区二区福利久久| 国产一区二区精品久| 精品视频免费看| 日韩av片免费播放| 四虎影视久久久免费| 国产麻豆精品免费视频| 国产麻豆精品| 国产网站免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美a免费| 欧美a级成人淫片免费看| 一级毛片视频在线观看| 色综合久久天天综合观看| 一级毛片视频在线观看| 99久久视频| 国产麻豆精品高清在线播放| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产一区免费观看| 九九久久99| 国产一区二区精品| 91麻豆tv| 欧美激情一区二区三区视频| 国产91视频网| 国产麻豆精品免费视频| 国产网站在线| 免费一级片在线| 国产亚洲精品成人a在线| 午夜在线亚洲| 黄色免费三级| 超级乱淫伦动漫| 台湾美女古装一级毛片| 日韩男人天堂| 久久精品店| 青草国产在线观看| 成人在激情在线视频| 精品视频在线观看免费 | 国产高清在线精品一区a| 日韩中文字幕一区| 韩国毛片| 成人免费高清视频| 亚洲精品久久久中文字| 日本伦理片网站| 日日夜夜婷婷| 久久国产影院| 青青久久精品| 日韩中文字幕一区| 亚洲精品影院久久久久久| 二级特黄绝大片免费视频大片| 日韩中文字幕在线播放| 精品国产香蕉伊思人在线又爽又黄| 91麻豆tv| 精品国产香蕉伊思人在线又爽又黄| 国产亚洲精品成人a在线| 国产一区二区精品久| 国产亚洲免费观看| 国产成人精品综合久久久| 夜夜操网| 精品久久久久久综合网| 美女免费精品视频在线观看| 一级毛片视频在线观看| 国产网站免费视频| 二级片在线观看| 久草免费资源| 久久久久久久久综合影视网| 欧美另类videosbestsex高清| 日日日夜夜操| 四虎影视精品永久免费网站| 国产伦久视频免费观看 视频| 精品视频免费看| 日韩在线观看视频黄| 91麻豆tv| 久久99青青久久99久久| 国产伦久视频免费观看 视频| 国产不卡在线观看视频| 天天做人人爱夜夜爽2020| 欧美大片aaaa一级毛片| 国产原创视频在线| 美女免费精品视频在线观看| 日韩专区亚洲综合久久| 香蕉视频亚洲一级| 成人a级高清视频在线观看| 人人干人人插| 亚洲天堂在线播放| 国产不卡福利| 日韩专区亚洲综合久久| 午夜精品国产自在现线拍| 黄色短视屏| 精品在线免费播放| 色综合久久手机在线| 久久久久久久男人的天堂| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 九九热国产视频| 国产美女在线一区二区三区| 人人干人人插| 久久久久久久久综合影视网| 成人在激情在线视频| 九九热国产视频| 亚洲 激情| 成人在激情在线视频| 国产麻豆精品免费视频| 国产成a人片在线观看视频| 夜夜操网| 国产麻豆精品高清在线播放| 日韩在线观看视频黄| 二级片在线观看| 91麻豆tv| 国产网站在线| 欧美爱爱动态| 91麻豆国产| 99久久精品国产片| 欧美一区二区三区在线观看| 欧美a级成人淫片免费看| 国产极品白嫩美女在线观看看| 亚欧视频在线| 日日日夜夜操| 99色视频| 久久精品大片| 四虎影视久久久免费| 国产不卡在线观看视频| 日本伦理片网站| 国产视频网站在线观看| 精品国产一区二区三区国产馆| 午夜在线影院| 国产一区二区精品尤物| 国产精品自拍一区| 久久国产精品永久免费网站| 久久精品店| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 99久久精品国产麻豆| 色综合久久手机在线| 99久久精品国产片| 精品国产亚洲人成在线| 韩国三级一区| 999久久狠狠免费精品| 国产伦久视频免费观看 视频| 精品在线观看国产| 91麻豆精品国产高清在线| 成人免费一级纶理片 | 国产麻豆精品高清在线播放| 国产不卡在线观看视频| 国产视频网站在线观看| 欧美激情在线精品video| 亚洲精品永久一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人高清视频在线观看| 麻豆污视频| 韩国毛片| 高清一级淫片a级中文字幕| 国产麻豆精品| a级黄色毛片免费播放视频| 精品国产香蕉伊思人在线又爽又黄| 国产亚洲精品成人a在线| 沈樵在线观看福利| 亚欧视频在线| 国产精品免费久久| 精品国产一区二区三区国产馆| 一级毛片视频播放| 日韩在线观看视频黄| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 999精品在线| a级黄色毛片免费播放视频| 国产美女在线一区二区三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 韩国三级视频网站| 精品国产一区二区三区久久久蜜臀 | 91麻豆tv| 一级毛片视频在线观看| 日本在线播放一区| 精品久久久久久影院免费| 黄视频网站在线看| 久久久久久久久综合影视网| 四虎影视精品永久免费网站| 亚洲第一页乱| 九九热国产视频| 亚洲第一色在线| 沈樵在线观看福利| 99色视频在线观看| 日韩avdvd| 国产成a人片在线观看视频| 日韩字幕在线| 欧美另类videosbestsex久久 | 韩国三级视频网站| 久久99中文字幕久久| 午夜在线影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 青青久热| 亚洲第一页乱| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 二级片在线观看| 一级女性全黄久久生活片| 九九久久国产精品大片| 天天做日日爱| 日韩在线观看网站| 九九热国产视频|