내 문제는 사람들이 가정용/DeleteSong? id = 139와 같은 URL을 입력하면 가정용 컨트롤러에서 내 작업을하고 노래와 물건을 삭제할 수 있다는 것입니다. 나는 [authorize] 속성을 사용할 수 있다고 믿지만 로그인 한 사용자는 아직 내 행동을 사용하기 위해 url을 입력 할 수 없다. 나는 주로 서버와 통신하기 위해 아약스 요청을 사용하므로 아약스 요청에 대한 내 조치를 확인해야한다. 그렇지 않으면 다른 일을해야한다. 사용자가 URL을 입력 할 때 홈 페이지로 리다이렉트 할 때 내 프로젝트를 설정하고 싶습니다. 어떻게해야합니까? 그리고이 문제가 해결 될까요?URL 쿼리에서 asp.net mvc 3 사이트를 보호하는 방법?
내 조치 :
[HttpPost]
public ActionResult DeleteTopTenFav(int id)
{
var song = repository.GetTopTenFav(id);
var points = repository.FindPoints(song.UserName);
foreach (var item in points)
{
item.TopTenFav = null;
}
repository.DeleteTopTenFav(song);
repository.Save();
return RedirectToAction("Index");
}
내 JQuery와 아약스 기능을 삭제합니다
$("#topTenContainer").on("click", ".btnDeleteTopTenFavSong", function() {
var button = $(this);
var songId = $(this).attr('name');
$.ajax({
beforeSend: function() { ShowAjaxLoader(); },
type: 'POST',
url: "/Home/DeleteTopTenFav/",
data: { id: songId },
success: function() { HideAjaxLoader(), ChangeColorShowMsg("green"), ShowSuccessMsgAndReplaceTopTenSong("Song deleted successfully", button) },
error: function() { HideAjaxLoader(), ChangeColorShowMsg("red"), ShowMsg("Song could not be deleted, please try again") }
});
});
아니요, 문제가 해결되지 않습니다. – dotjoe