婷婷综合国产,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
    久久成人羞羞网站| 成人丝袜18视频在线观看| 欧美日韩中字一区| 黑人精品欧美一区二区蜜桃| 一区二区三区在线视频播放| 久久无码av三级| 7777精品久久久大香线蕉| 99精品久久99久久久久| 国产麻豆9l精品三级站| 亚洲福中文字幕伊人影院| 日韩毛片一二三区| 国产精品免费av| 久久精品视频在线看| 欧美成人性战久久| 欧美精品粉嫩高潮一区二区| 欧美日韩在线播| 欧美男人的天堂一二区| 在线观看视频欧美| 91黄视频在线| 99久久久无码国产精品| 亚洲成人资源在线| 日本一区二区三区国色天香 | 激情偷乱视频一区二区三区| 国产亚洲欧洲一区高清在线观看| 成a人片亚洲日本久久| 亚洲国产精品一区二区久久| 久久人人爽爽爽人久久久| 一本色道久久综合亚洲91| 蜜桃91丨九色丨蝌蚪91桃色| 成人免费视频视频| 免费国产亚洲视频| 国产尤物一区二区| 99久久99久久综合| 欧美影视一区在线| 日韩丝袜情趣美女图片| 国产婷婷色一区二区三区在线| 国产日韩欧美精品电影三级在线| 国产精品拍天天在线| 亚洲一区二区三区四区在线免费观看| 亚洲综合一区二区精品导航| 免费成人av在线| 成人小视频免费观看| 91麻豆精品秘密| 欧美高清激情brazzers| 久久综合国产精品| 亚洲精品ww久久久久久p站| 午夜精品国产更新| 国产成人免费视频| 一本色道综合亚洲| 五月激情综合色| 2024国产精品| 日本不卡123| 青青草精品视频| 国产精品免费网站在线观看| 日本成人在线不卡视频| 国产乱子伦一区二区三区国色天香| 日韩区在线观看| 欧美一级精品大片| 91久久香蕉国产日韩欧美9色| 国产不卡一区视频| 国产精品456| 91色婷婷久久久久合中文| 韩国欧美国产一区| 成人18视频在线播放| 亚洲福利视频一区| 91麻豆精品国产| 日韩美女在线视频 | 日本不卡中文字幕| 日韩精品乱码av一区二区| 日韩黄色小视频| 奇米综合一区二区三区精品视频| 九色|91porny| 欧美性受xxxx| a美女胸又www黄视频久久| 美女一区二区在线观看| 成人精品gif动图一区| 久久久久久久久久看片| 日韩一区中文字幕| 激情欧美一区二区| 欧美a级一区二区| 欧美伊人久久久久久久久影院 | 亚洲蜜桃精久久久久久久| 亚洲欧美日韩中文字幕一区二区三区 | 一区二区三区国产精华| 91.麻豆视频| 亚洲男人天堂一区| 亚洲欧美经典视频| 亚洲成人精品在线观看| 午夜精品一区二区三区三上悠亚| 日本强好片久久久久久aaa| 久久99精品一区二区三区| 国产一区二区三区久久久| 国产成人在线免费观看| 不卡的av电影在线观看| 欧洲亚洲精品在线| 欧美伊人久久久久久久久影院 | 麻豆精品久久精品色综合| 久久99久久99| 成人av片在线观看| 精品国产一区二区三区不卡 | 337p日本欧洲亚洲大胆精品| 久久久久久久网| 国产精品伦一区二区三级视频| 久久精品免视看| 欧美日韩和欧美的一区二区| 91精品国产综合久久久久久久久久| 欧美日韩一级大片网址| 国产日韩欧美一区二区三区综合| 国产精品麻豆99久久久久久| 国产一区二区三区美女| 最新欧美精品一区二区三区| 国产亚洲一二三区| 欧美一区二区在线看| 国产午夜精品在线观看| 中文字幕一区二区三区四区不卡| 久久久.com| 一区二区三区免费观看| 精久久久久久久久久久| 精品久久久久久久久久久久包黑料 | 国内精品嫩模私拍在线| 欧美视频在线观看一区二区| 成人深夜视频在线观看| 国产资源在线一区| 国产成人鲁色资源国产91色综| 另类小说综合欧美亚洲| 麻豆成人久久精品二区三区小说| 亚洲第一狼人社区| 日韩精品乱码av一区二区| 日韩电影在线免费观看| 日本欧美加勒比视频| 美女一区二区视频| 国产精品1024| 91免费精品国自产拍在线不卡| jizz一区二区| 在线91免费看| 久久中文字幕电影| 亚洲免费观看高清完整版在线观看| 亚洲愉拍自拍另类高清精品| 爽好久久久欧美精品| 一区二区三区久久| 调教+趴+乳夹+国产+精品| 成人午夜精品一区二区三区| 色婷婷综合久久久久中文| 欧美撒尿777hd撒尿| 精品国产乱子伦一区| 亚洲天堂中文字幕| 国产激情一区二区三区| 欧美精品自拍偷拍| 国产精品高潮呻吟久久| 国产高清亚洲一区| 精品久久久久一区| 国内精品久久久久影院色| 欧美夫妻性生活| 亚洲国产日韩精品| 91激情五月电影| 亚洲综合av网| 欧洲人成人精品| 亚洲图片欧美色图| 欧美日韩一区二区电影| 亚洲色图在线播放| 99久久伊人久久99| 国产成人精品三级麻豆| 国产成人免费在线观看不卡| 九九热在线视频观看这里只有精品| 伊人开心综合网| 中文字幕免费不卡| 91在线视频在线| 亚洲国产精品久久久久婷婷884 | 日韩成人免费电影| 精品免费99久久| 成人av在线电影| 男人的天堂久久精品| 欧美精品一区二区在线观看| 久久精品免费看| 日韩美女视频一区二区| 91精品国产色综合久久| 国产+成+人+亚洲欧洲自线| 日本一区二区三区四区在线视频| 成人性生交大合| 日韩av成人高清| 国产精品国产三级国产aⅴ入口| 欧美三级资源在线| 一区二区三区在线播| 欧美日韩久久一区| 青青草91视频| 国产无一区二区| 91麻豆精品在线观看| 日本在线观看不卡视频| 国产校园另类小说区| 欧美最新大片在线看| 高清不卡在线观看| 三级不卡在线观看| 国产精品久久久久久久久图文区 | heyzo一本久久综合| 国产99久久久精品| 日韩精品亚洲一区| 日本一道高清亚洲日美韩| 奇米精品一区二区三区四区| 日韩国产成人精品| 蜜桃免费网站一区二区三区|