2016-03-22 17 views
0

私は突然すべてのユーザーの認証を停止したASP.NET Webpages Razor構文ページを持っています!asp.net Razorでアンチフェザーが正常に動作しない

ユーザーは、サーバーがメッセージで応答し、今サイトにログインしようとすると:

必要な偽造防止のフォームフィールド「__RequestVerificationTokenは」存在しません。

まあです!

私は@AntiFogery.GetHTML()を使用してユーザーを認証後の方法では、私は@AntiForgery.Validate() <を持って、このフィールドを作成するには

<section id="loginForm"> 
    <form method="post"> 
     <fieldset> 
     <input name="__RequestVerificationToken" type="hidden" value="WgwaKIsXipJ4C8IRsaz__C_tW02ejupv8af-w3czwefo2AEacVlGs_k-lFNRfLqWr0inzHxtkEnXgPKZMvacv5u1LVfLphIP8R1JGukMZcA1" /> 
     <legend>Sign in to Your Account</legend> 
     <ol> 
      <li class="email"> 
       <label for="email" >Username</label> 
       <input type="text" id="email" name="username" /> 
       <span class="field-validation-valid" data-valmsg-for="username" data-valmsg-replace="true"></span> 
      </li> 
      <li class="password"> 
       <label for="password" >Password</label> 
       <input type="password" id="password" name="password" /> 
       <span class="field-validation-valid" data-valmsg-for="password" data-valmsg-replace="true"></span> 
      </li> 
      <li class="remember-me"> 
       <input type="checkbox" id="rememberMe" name="rememberMe" /> 
       <label class="checkbox" for="rememberMe">Remember me?</label> 
      </li> 
     </ol> 
     <input type="submit" value="Sign in" /> 
    </fieldset> 
    </form> 
</section> 

...それは下図のよう隠しフィールドを追加し、私のログインページのソースを見てみると - ---これはウェブサイトがクラッシュし、上記のエラーが表示されます。

これが役立つかどうかわかりません。しかし、私がすべての検証(サーバーとクライアント)を削除すると、Webサイトにログインしようとすると403エラーが発生します。

奇妙なことに、これは何の介入もなく突然起こっていますか?

最後に、私のローカルマシンでは、になりません。 IIS 8でホストされている場合のみ

+0

あなたはウェブファームですか? – Liam

+0

申し訳ありませんが、あなたは何を意味するのか分かりませんか? – Harvey

+0

これを確認してください:http://www.codeproject.com/Questions/776742/The-required-anti-forgery-form-field-RequestVerifi – Lesmian

答えて

1

私は最終的にIISサーバーの問題を発見しました。

私のWebサーバには、ModSecurity Installedというツールがあり、私のPOSTリクエストを明らかに妨害していました。

<ModSecurity enabled="false" />という行をサイトのweb.configに追加すると、すべて元の状態に戻りました。

今後この問題で他の誰かに役立つことを願っています。

+0

ModSecurityを完全に無効にするのではなく、問題の原因となっているルールを操作する方が良いでしょうか? –

+0

ModSecurityは要件ではなく、より多くのテストでした。このアプリケーションでは、このソリューションは適しています。 – Harvey

+1

ModSecurityが必要ない場合は、正しく設定しようとするよりも簡単に_無効になります。 :-) –

関連する問題