カスタム フォーム認証を使用する MVC3 プロジェクトがあります。認証が正常に機能するようになりました(機能することを確認するために「HttpContext.Current.User.Identity.IsAuthenticated」プロパティを使用しました)
私は自分のフォームで Ajax を使用しています。
$(document).ready(function () {
$.ajax({
url: '/MyPages/MyControllerFunction',
type: 'POST',
success: function (result) { $('#MyJavaTemplate').tmpl(result).appendTo('#MyHtmlTable'); },
error: function (result) {
$('#errorDisplay').html(result.responseText);
}
})
});
このページにアクセスすると (そして ajax がこのコントローラーの関数を呼び出す必要があります)、次のエラーが表示されます。
HTTP エラー 404.0 - 見つかりません お探しのリソースは削除されているか、名前が変更されているか、一時的に利用できません。
私のコントローラー機能:
[HttpPost]
public ActionResult MyControllerFunction()
{
var MyEntity = MyBusinessLogic.GetByID(1);
return Json(MyEntity);
}
([Authorized] 属性も追加しようとしましたが、役に立ちませんでした)
これは、ajax を介してコントローラーの関数を呼び出す場合にのみ発生します。フォーム認証で動作するようにプログラムを変更する前は、すべて機能していました。ユーザーが認証されていないかのようです(認証されている場合でも)
この問題を解決するにはどうすればよいですか?