问题描述
这是我的登录控制器
[HttpPost]
public ActionResult Login(Loginviewmodel login,string ReturnUrl = "/Admin/pages/index")
{
if (ModelState.IsValid)
{
if (loginRepository.IsUserExist(login.UserName,login.Password))
{
FormsAuthentication.SetAuthCookie(login.UserName,login.RememberMe);
return Redirect(ReturnUrl);
}
else
{
ModelState.AddModelError("UserName","Username and password is incorrect");
}
}
return View();
}
我在将 cookie 设置为管理区域后重定向它,但它给了我“HTTP 错误 401.0 - 未经授权”错误。
我的管理区域控制器
[Authorize]
public class PagesController : Controller
{
public ActionResult Index()
{
return View(pageRepository.GetAllPage());
}
}
解决方法
我发现问题出在 web.config
必须在 web.config 中添加以下行:
<authentication mode="Forms">
<forms name="Website" loginUrl="/Account/login" timeout="43200"></forms>
</authentication>