![](/img/trans.png)
[英]can not get access to the ASP.NET MVC controller method with [Authorize(Roles = “Admin”)] even after login
[英]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.