FireFox 4 и <% = Html.AntiForgeryToken ()%> проблема - PullRequest
0 голосов
/ 08 апреля 2011

Когда я пытаюсь войти в систему с помощью FireFox4, у меня появляется сообщение об ошибке (нет ошибок в других браузерах):

Проверка состояния формы MAC не удалась. Если приложение представляет собой веб-ферму или кластер, убедитесь, что конфигурация указывает на один и тот же ключ проверки validationKey и алгоритм проверки. Автогенерация не может использоваться в кластере.

[ViewStateException: 
    Client IP: ::1
    Port: 
    User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0
    ViewState: X+K7IAAB3XrqQMf0Ym7ZlHeMzvcISEek8a8NX07/uIQ1jEdwJp+/fisjPu64BgVKohucBKZxiX6vdxG+GNAS4qGMJbyCAfB6hwEKvpR9Df9o9gBj5MJTF2AHA6YO87XVvqbC3TNlTBSQ1OLakVvy7Q==
    Referer: http://localhost:1062/
    Path: /login]

Страница входа проста:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" Inherits="ModelViewPage<Graphite.Web.Controllers.Login.LoginViewModel>" %>
<%@ Import Namespace="Graphite.Web.Controllers.Login" %>

<asp:Content ContentPlaceHolderID="main" runat="server" >
<%
  using (Html.BeginForm("Authenticate","Login")) {%>
  <div class="formInput"> 
       <%= this.TextBox(x => x.Username).Label("Username: ")%>
  </div>
  <div class="formInput">
      <%= this.Password(x => x.Password).Label("Password: ")%>
  </div>
  <%=Html.AntiForgeryToken()%>
  <%=this.SubmitButton("Login")%>
<%
  }%>
</asp:Content>

Я пытался отключить злые дополнения, такие как no-script, но это мне не помогло.

1 Ответ

2 голосов
/ 08 апреля 2011

Проверьте, по какому адресу размещается страница при нажатии кнопки входа (для этого вы можете использовать firebug).Я подозреваю, что он отправляет обратно на страницу aspx - вместо того, чтобы отправлять на URL, который будет перенаправлен на правильный контроллер.

В другой заметке я предлагаю вам отключить состояние просмотра на страницах ASP.NETв MVC, потому что вы используете их только для рендеринга вывода и не используете его модель управления и постбэк.

...