我创建了HomeController
AuthorizeAttribute
,但也创建了AccountController
,但它没有重定向到Login()
的{{1}}操作。
家庭控制器:
AccountController
帐户管理员:
[Authorize]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
的web.config:
public class AccountController : Controller
{
[HttpGet]
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LogOnCustom log)
{
if(ModelState.IsValid)
{
if(Membership.ValidateUser(log.UserName,log.Password))
{
FormsAuthentication.RedirectFromLoginPage(log.UserName, log.Isremeber);
}
else
{
ModelState.AddModelError("", "logOn error");
}
}
return View(log);
}
}
答案 0 :(得分:0)
我刚遇到同样的问题。检查您的web.config并查看它是否包含以下行:
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
删除“<remove name="FormsAuthentication" />
”行,它应该开始工作。删除FormsAuthentication模块后,没有代码侦听401事件,因此它没有机会将用户重定向到登录页面。