Mvc授权属性不起作用

时间:2016-08-20 12:26:02

标签: asp.net-mvc web-config authorize-attribute

我创建了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);
    }
}

1 个答案:

答案 0 :(得分:0)

我刚遇到同样的问题。检查您的web.config并查看它是否包含以下行:

<system.webServer>
  <modules>
    <remove name="FormsAuthentication" />
  </modules>
</system.webServer>

删除“<remove name="FormsAuthentication" />”行,它应该开始工作。删除FormsAuthentication模块后,没有代码侦听401事件,因此它没有机会将用户重定向到登录页面。