在ASP.Net MVC 4中授权管理员控制器

时间:2013-07-25 04:14:06

标签: c# sql asp.net-mvc-4

我正在使用mvc4和c#构建一个网站。我有一个管理控制器。我想验证该控制器。

我有一个SQL db表用户(包含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 个答案:

答案 0 :(得分: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);
}