フォーム認証をMVCサイトに追加しようとしていますが、アプリケーションを実行すると、ログインページにリダイレクトされます(これは正しいです)。ただし、ログインしようとするたびに、ページが更新されるだけで、コントローラーがPOSTリクエストを取得することはありません。フォーム認証の何かがオフになっていて、すべてのリクエストがログインページにリダイレクトされていると思いますか?どんな助けでも大歓迎です!
以下は私のウェブ設定情報です:
<authentication mode="Forms">
<forms loginUrl="~/Account" timeout="30" slidingExpiration="false" requireSSL="false" />
</authentication>
<authorization>
<deny users ="?" />
<allow users = "*" />
</authorization>
以下は私のログインページです:
@using (Html.BeginForm("Login", "Account", FormMethod.Post))
{
@Html.LabelFor(x => x.Username)<br />
@Html.TextBoxFor(x => x.Username)
<br />
<br />
@Html.LabelFor(x => x.Password)<br />
@Html.TextBoxFor(x => x.Password)
<br />
<br />
<br />
<input type="submit" value="Login" />
}
以下は私のコントローラーです:
[HttpGet]
public ActionResult Index()
{
return View("~/Views/Account/Login.cshtml", new LoginViewModel());
}
[HttpPost]
public ActionResult Login(LoginViewModel viewModel)
{
Membership.ValidateUser(viewModel.Username, viewModel.Password);
FormsAuthentication.SetAuthCookie(viewModel.Username, viewModel.RememberMe);
return View("~/Views/Account/Login.cshtml", viewModel);
}