婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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網站開發用戶登錄、注銷(五)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲一区二区三区四区在线免费观看 | 欧洲视频一区二区| av一二三不卡影片| 91久久精品一区二区三区| 国产91精品免费| 欧美日韩三级一区| 久久亚洲一区二区三区四区| 国产精品午夜免费| 国产精品高潮呻吟| 国产一区二区三区在线观看免费视频 | 亚洲午夜在线电影| 色又黄又爽网站www久久| 麻豆传媒一区二区三区| 欧美剧在线免费观看网站| 五月天一区二区三区| voyeur盗摄精品| 国产欧美日韩精品一区| 国产一区二区在线免费观看| 欧美精品丝袜久久久中文字幕| 午夜电影一区二区| 久久久三级国产网站| av电影在线不卡| 亚洲一区二区三区在线看| 欧美日韩成人在线一区| 狠狠色丁香婷婷综合| 亚洲欧洲av在线| 91精品国产麻豆| 色综合中文综合网| 伊人色综合久久天天人手人婷| 粉嫩高潮美女一区二区三区| 洋洋av久久久久久久一区| 91精品国产欧美一区二区18| 91蜜桃婷婷狠狠久久综合9色| 欧美成人video| 日韩高清一区在线| 日韩欧美一二三四区| 中文在线一区二区| 免费成人性网站| 91蝌蚪国产九色| 久久久99精品久久| 亚洲精品欧美专区| 欧美成人猛片aaaaaaa| 91福利在线看| 欧日韩精品视频| 欧美体内she精视频| 欧美另类变人与禽xxxxx| 在线观看视频欧美| 欧美日韩午夜在线| 91污片在线观看| av成人动漫在线观看| 99国产精品国产精品毛片| 国内精品在线播放| 丁香婷婷综合五月| 风流少妇一区二区| 9人人澡人人爽人人精品| 91精品久久久久久久99蜜桃| 欧美xxxxx牲另类人与| 久久毛片高清国产| 久久久www免费人成精品| 久久久久国产精品人| 综合精品久久久| 福利一区二区在线观看| 视频在线观看国产精品| 亚洲国产精品久久不卡毛片| 秋霞电影一区二区| 国产成人精品免费网站| 色婷婷av一区二区三区软件| 日韩精品一区二区三区视频播放 | 亚洲综合图片区| 亚洲精品国产视频| 天天亚洲美女在线视频| 成人三级在线视频| 日韩一二三区视频| 中文字幕欧美国产| 国模套图日韩精品一区二区 | 粉嫩aⅴ一区二区三区四区| 99精品视频在线观看免费| 欧美一区二区成人| 日本一区二区三区高清不卡| 久久99久久99| 欧美午夜片在线观看| 久久久久久久久岛国免费| 国产毛片精品一区| 欧美视频在线一区| 国产精品美日韩| 日日噜噜夜夜狠狠视频欧美人| 国产suv精品一区二区6| 欧美军同video69gay| 亚洲人妖av一区二区| 91免费观看视频| 亚洲视频一区二区免费在线观看| 国产麻豆9l精品三级站| 久久精品网站免费观看| 精品国产成人在线影院| 亚洲私人黄色宅男| 成人午夜私人影院| 国产精品成人一区二区艾草| 在线观看国产精品网站| 日韩欧美aaaaaa| 秋霞午夜av一区二区三区| 久久久久久综合| 国产综合一区二区| 在线一区二区三区四区| 亚洲欧洲日韩女同| 日韩国产精品91| 一本大道久久a久久精品综合| 国产精品久久久久一区二区三区共 | 香蕉乱码成人久久天堂爱免费| 在线观看91精品国产入口| 国产婷婷一区二区| 成人精品亚洲人成在线| 久久久久久久网| 波多野结衣中文字幕一区| 一二三四区精品视频| 日韩欧美国产一区二区三区| 国产成人亚洲综合a∨婷婷图片| 久久精品欧美一区二区三区麻豆| 国精产品一区一区三区mba桃花| av一本久道久久综合久久鬼色| 亚洲在线视频网站| 日韩视频国产视频| 麻豆精品视频在线观看免费| 欧美一激情一区二区三区| 石原莉奈在线亚洲二区| 日本不卡不码高清免费观看| 日韩欧美综合在线| 99久久99久久精品免费看蜜桃| 国产色爱av资源综合区| 成人午夜电影久久影院| 欧美精品一区二区精品网| 美国欧美日韩国产在线播放 | 日韩国产在线观看一区| 91亚洲精品乱码久久久久久蜜桃| 免费观看91视频大全| 日韩av一区二区三区四区| 国产在线看一区| 亚洲精品国产a久久久久久| 欧美国产精品一区二区三区| 欧美一级二级三级蜜桃| 欧美另类videos死尸| 日韩一级片在线播放| 奇米在线7777在线精品| 亚洲色图一区二区三区| 一区二区视频在线| 亚洲欧洲www| 国产精品欧美极品| 国产日韩欧美不卡| 欧美不卡视频一区| 欧美国产成人在线| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区在线影院| 亚洲精品美国一| 亚洲韩国一区二区三区| 麻豆精品视频在线观看免费| 欧美男男青年gay1069videost| 色综合久久综合中文综合网| 在线影视一区二区三区| 日本乱码高清不卡字幕| 精品少妇一区二区三区在线视频 | 成人黄色在线网站| 91一区二区三区在线观看| 国产精品 欧美精品| 日本韩国欧美在线| 久久综合久久综合久久综合| 曰韩精品一区二区| 国产精品夜夜嗨| 日韩视频123| 国产精品久久久一本精品| 午夜伊人狠狠久久| 91成人网在线| 欧美高清在线一区二区| 国产精品国产三级国产aⅴ中文| 91精品福利在线一区二区三区| 色综合久久久网| 日本亚洲三级在线| 91年精品国产| 国产午夜一区二区三区| 91精品国产福利在线观看| 国产精品欧美一区喷水| 成人网在线播放| 欧美亚洲另类激情小说| 亚洲成人综合视频| 欧美一区二区福利在线| 亚洲大片免费看| 欧美一卡二卡三卡| 激情综合一区二区三区| 2021国产精品久久精品| 成人少妇影院yyyy| 日韩三级视频在线看| 天堂va蜜桃一区二区三区漫画版| 欧美三级资源在线| 日本va欧美va欧美va精品| 正在播放一区二区| 99久久久久久| 精品国产a毛片| 成人开心网精品视频| 国产色爱av资源综合区| 国产精品亚洲成人| 亚洲综合免费观看高清完整版在线 | 91麻豆精品国产无毒不卡在线观看|