繁体   English   中英

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

[英]Authorize Admin Controller in 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文件或任何其他文件是否有变化?

您可以使用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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM