中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Asp.Net MVC4中怎么驗證用戶登錄

發布時間:2021-07-16 15:30:53 來源:億速云 閱讀:156 作者:Leah 欄目:開發技術

這篇文章給大家介紹Asp.Net MVC4中怎么驗證用戶登錄,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先在HomeController 控制器的返回函數

public ActionResult Index(){...}

前面加上:

[Authorize(Roles = "admins")]

就是這樣:

[Authorize(Roles = "admins")] 
public ActionResult Index() 
{ 
  ... 
}

這條語句的意思是在這加上一個權限驗證,只允許用戶角色是admins的用戶訪問

然后再web.config文件里添加:

<authentication mode="Forms"> 
   <forms loginUrl="~/Login" timeout="2880" /> 
</authentication>

這些的意思是給整個網站增加用戶驗證,指向的登陸界面是login這個控制器

CDBTemplate.cs文件里的一個類:

public class LogOnModel 
  { 
    [Required] 
    [Display(Name = "用戶名")] 
    public string UserName { get; set; } 
 
 
    [Required] 
    [DataType(DataType.Password)] 
    [Display(Name = "密碼")] 
    public string Password { get; set; } 
 
 
    [Display(Name = "下次自動登陸")] 
    public bool RememberMe { get; set; } 
  }

然后為LoginController 控制器的默認返回函數增加一個視圖Index.cshtml,在頁面里面加上下面的代碼:

@model Weibo.Models.LogOnModel //LogOnModel 是CDBTemplate.cs文件里的一個類 
@using (Html.BeginForm("Login","Login",FormMethod.Post)) { 
  @Html.TextBoxFor(m => m.UserName) 
        @Html.ValidationMessageFor(m => m.UserName, "請輸入用戶名!", new { }) 
@Html.PasswordFor(m => m.Password) 
        @Html.ValidationMessageFor(m => m.Password,"請輸入密碼!",new { }) 
@Html.CheckBoxFor(m => m.RememberMe) 
        @Html.LabelFor(m => m.RememberMe) 
@Html.ActionLink("忘記密碼", "forgotpwd", null, new {@class="rt",target="_blank" }) 
<input type="submit" value="登陸微博" /> 
}

在上面的代碼里Html.BeginForm("Login","Login",FormMethod.Post)方法的第一個參數的意思是指定要調用的控制器的方法的名字,第二個參數的意思是控制器的名字,第三個參數的意思是用什么方法把表單提交給服務器,這里我們為了安全,選擇用post方式提交。

然后在LoginController 控制器中增加這么一個方法:

[HttpPost, ActionName("Login")] 
    public void Login(FormCollection collection) 
    { 
      object obj = SqlHelper.ExecuteScalar("select UserId from CDBUsers where UserName=@uname and Password=@pwd", 
         new SqlParameter("@uname", collection[0]), 
         new SqlParameter("@pwd", Weibo.Models.Myencrypt.myencrypt(collection[1]))); 
 
 
      if (obj != null) 
      { 
        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 
          1, 
          collection[0], 
          DateTime.Now, 
          DateTime.Now.AddMinutes(30), 
          false, 
          "admins" 
          ); 
        string encryptedTicket = FormsAuthentication.Encrypt(authTicket); 
        System.Web.HttpCookie authCookie = new System.Web.HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); 
        System.Web.HttpContext.Current.Response.Cookies.Add(authCookie); 
      } 
 
 
      Response.Redirect("~/"); 
    }

關于Asp.Net MVC4中怎么驗證用戶登錄就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日照市| 宜章县| 策勒县| 大悟县| 天全县| 平定县| 锡林郭勒盟| 庐江县| 兰考县| 南康市| 公主岭市| 阿尔山市| 合阳县| 沁水县| 社旗县| 云南省| 铁岭县| 曲阜市| 凤台县| 松溪县| 安仁县| 深圳市| 德保县| 安阳市| 金溪县| 天峨县| 石狮市| 盱眙县| 宁化县| 南康市| 新巴尔虎左旗| 肇东市| 正蓝旗| 屯门区| 冀州市| 维西| 黄冈市| 沂南县| 敖汉旗| 津市市| 永年县|