Asp.net
如何使用只有一個使用者的 asp.net mvc 項目
我正在做一個在公司中使用的項目。系統將只有 1 個管理員帳戶。
管理員將添加系統使用者,每個使用者都可以創建自己的聯繫人。
我創建了一個用於連接數據庫的 WCF 服務、一個用於管理員的 asp.net mvc3 項目以及另一個用於系統使用者的 WPF 應用程序。
我的問題是:
我只有一個使用者(管理員)可以使用這個 asp.net mvc 項目登錄:我該如何處理這種情況?
我認為不需要會員提供者和數據庫,因為我只與一個使用者合作,對嗎?
嘗試這個:
網路配置:
<authentication mode="Forms"> <forms loginUrl="~/Admin/LogOn" timeout="2880" > <credentials passwordFormat="SHA1"> <user name="admin" password="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8"/> </credentials> </forms> </authentication>密碼格式設置為 SHA1,因此您的密碼不會以明文形式顯示。不過還是可以破解的。例如,使用線上 SHA1 生成器生成您自己的雜湊。
loginUrl 是您的登錄頁面的路由(duh :P),所以如果它不同,請更改它。
憑據視圖模型:
public class CredentialsViewModel { [Required] public string UserName { get; set; } [Required] [DataType(DataType.Password)] public string Password { get; set; } }您的登錄視圖的視圖模型。
管理員控制器:
public ViewResult LogOn() { return View(); } [HttpPost] public ActionResult LogOn(CredentialsViewModel model, string returnUrl) { if(ModelState.IsValid) { if(FormsAuthentication.Authenticate(model.UserName, model.Password)) { FormsAuthentication.SetAuthCookie(model.UserName, false); return Redirect(returnUrl ?? Url.Action("Index", "Admin")); } else { ModelState.AddModelError("", "Incorrect username or password"); } } return View(); } [Authorize] public ViewResult Index() { return View(); }因此 LogOn 操作將驗證從視圖傳遞的憑據;將其與 web.config 數據進行比較。
這裡的重要部分是$$ Authorize $$屬性將防止未經授權的使用者訪問。