2013-07-25 54 views
0

我正在使用mvc4和c#構建網站。我有一個管理員控制器。我想驗證該控制器。在ASP.Net中授權管理控制器MVC 4

我有一個基於角色的SQL數據庫表用戶(包含User_NA,User_pwd和User_role),我如何登錄到管理索引頁面。

[Authorize] 
public ActionResult Index(string id="") 
{ 
    ViewBag.Admin = id; 
    return View(); 
} 

我有一個登錄和註銷操作。

[HttpGet] 
public ViewResult Login() 
{ 
    return View(); 
} 
[HttpPost] 
public RedirectResult Login(FormCollection form) 
{ 
    string uid = Request.Form["userid"]; 
    string pwd = Request.Form["password"]; 
    ............................... 
    else return Redirect("~/Admin/Login"); 
} 

public RedirectResult Logout() 
{ 
    System.Web.Security.FormsAuthentication.SignOut(); 
    return Redirect("~/Admin"); 
} 

如何將認證碼寫入登錄操作? Web.Config文件或其他文件中是否有任何更改?

回答

1

可以使用WebSecuriy.Login方法

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public ActionResult Login(LoginModel model, string returnUrl) 
{ 
if (ModelState.IsValid && WebSecurity.Login(model.UserName, 
      model.Password, persistCookie: model.RememberMe)) 
{ 
return RedirectToLocal(returnUrl); 
} 

// If we got this far, something failed, redisplay form 
ModelState.AddModelError("", "The user name or password provided is incorrect."); 
return View(model); 
}