[Asp.Net MVC4]驗證使用者登入實作實例

高洛峰
發布: 2016-12-24 13:35:16
原創
1789 人瀏覽過

最近我們要做一個仿sina的微博,碰巧的是我最近在學習mvc,就想用mvc技術實現這個專案。

既然是微博,那不用想也應該知道肯定要有用戶登陸,但是和常規的asp.NET登陸又不一樣,以下是我一下午+一晚上的研究成果~~~

首先,建好資料庫以及表,這就不用說了吧。

下面說一下主要的結構

控制器:

HomeController 這是主頁的控制器

LoginController對應的類,裡邊描述的是資料庫的結構

//////////////////////////////////// ////////我是分割線\\\\\\\\\\\\\\\\\\\\\\\\\

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

public ActionResult Index(){...}
登入後複製

   


前面加上:

[Authorize(Roles = "admins")]
登入後複製

   

就是這樣:

[Authorize(Roles = "admins")]
public ActionResult Index()
{
  ...
}
登入後複製

然後再web.config檔裡加入:

<authentication mode="Forms">
   <forms loginUrl="~/Login" timeout="2880" />
</authentication>
登入後複製

   

這些的意思是為整個網站增加使用者驗證,指向的登陸介面是login這個控制器

CDBTemplate.cs檔案裡的一個類別:csin

   

接著為LoginController 控制器的預設回傳函數增加一個視圖Index.cshtml,在頁裡面加上下面的程式碼:

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; }
  }
登入後複製

   

gin

"Login",FormMethod.Post)方法的第一個參數的意思是指定要呼叫的控制器的方法的名字,第二個參數的意思是控制器的名字,第三個參數的意思是用什麼方法把表單交給伺服器,這裡我們為了安全,選擇用post方式提交。

接著在LoginController 控制器中增加這麼一個方法:

@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 {style="color: #f00" })
@Html.PasswordFor(m => m.Password)
        @Html.ValidationMessageFor(m => m.Password,"请输入密码!",new {style="color: #f00" })
@Html.CheckBoxFor(m => m.RememberMe)
        @Html.LabelFor(m => m.RememberMe)
@Html.ActionLink("忘记密码", "forgotpwd", null, new {@class="rt",target="_blank" })
<input type="submit" value="登陆微博" />
}
登入後複製

   

好了,搞定了~~~~

以上就是大家的全部內容,希望對好了,搞定了~~~~

以上就是大家的全部內容,希望對好了,搞定了~~~~,也希望的學習有所幫助,也希望以上的學習大家多多支援PHP中文網。

更多[Asp.Net MVC4]驗證使用者登入實作實例相關文章請關注PHP中文網!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板