В настоящее время я работаю над веб-сайтом ASP.NET MVC3.
У меня есть простая форма аутентификации, связанная с простой моделью представления.При отладке на локальном все работает нормально.
Но сайт тоже должен работать на Apache + monomod.И вот странное поведение, с которым я сталкиваюсь: одна и та же форма с теми же запросами и параметрами не работает.
Подробнее:
Viewmodel:
</p>
<pre><code>/// <summary>
/// Form authentication info
/// </summary>
public class LogOnModel
{
/// <summary>
///
/// </summary>
[DisplayName("Username")]
public string UserName { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Password")]
public string Password { get; set; }
/// <summary>
///
/// </summary>
[DisplayName("Remember me?")]
public bool RememberMe { get; set; }
/// <summary>
/// Targeted URL
/// </summary>
public string Target { get; set; }
/// <summary>
///
/// </summary>
public LogOnModel()
{
}
}
Основная часть представления, страница, на которой пользователь может ввести свое имя пользователя и пароль:
</p>
<pre><code><%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<Website.Areas.Public.Models.LogOnModel>" %>
<p>
Please enter your username and password to continue.
</p>
<% using (Html.BeginForm())
{ %>
<%= Html.ValidationSummary(true, "Authentication failed.")%>
<p>
<%= Html.ActionLink("I forgot my password","PasswordRecovery","Home") %>
</p>
<div>
<fieldset>
<div class="editor-label">
<%= Html.LabelFor(m => m.UserName) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(m => m.UserName) %>
<%= Html.ValidationMessageFor(m => m.UserName)%>
</div>
<div class="editor-label">
<%= Html.LabelFor(m => m.Password)%>
</div>
<div class="editor-field">
<%= Html.PasswordFor(m => m.Password) %>
<%= Html.ValidationMessageFor(m => m.Password) %>
</div>
<div class="editor-field">
<%= Html.CheckBoxFor(m => m.RememberMe) %>
Remember me
</div>
<p>
<input type="submit" value="Connect me!" />
</p>
</fieldset>
</div>
<% } %>
И контроллер, получая информацию об аутентификации:
</p>
<pre><code> [HttpPost]
public ActionResult LogOn(LogOnModel model)
{
string username = model.UserName;
string password = model.Password;
//On Apache, username & password are empty
...
}
Как я уже сказал в комментариях, имя пользователя ипароль пуст.На локальном сервере отладки ASP.NET все работает нормально, и, используя Fiddler, я вижу, что запросы на аутентификацию содержат данные формы (имя пользователя, пароль и т. Д.).
Любая идея, почему привязка, кажется, неза работой?Спасибо.