2013-05-03 50 views
1

我正在嘗試提交表單。當提交表格時,我想將表格刪除並將文字Thanks for your support. An e-mail will be sent to you as soon as possible.顯示出來。使操作方法只能通過重定向訪問

我認爲最合乎邏輯的方法是通過將表單提交給動作SaveMessage()重定向到操作RedirectToAction("MessageSaved"),該操作返回帶有消息的視圖。如果不是,請說出來。這是爲了練習。

問題是,該消息可以通過去/Support/MessageSaved查看。如何防止用戶通過網址訪問它,但通過redirectToAction()可以訪問該操作?

+0

「通過轉到'/ Support/MessageSaved'可以查看該消息」 - 爲什麼這是一個問題? – GalacticCowboy 2013-05-03 16:09:21

+0

@GalacticCowboy這並不是說可怕的事情會發生,但如果我允許用​​戶不應該查看它,那麼對我來說這似乎很奇怪。 – user1534664 2013-05-03 16:18:29

回答

2

在重定向之前,在TempData中設置一個值。在MessageSaved操作方法中,在顯示錶單之前檢查該值。否則,重定向到另一個頁面。

+0

謝謝,這是有道理的:我有點期待某種內置的動作過濾器,可以防止這種情況。 – user1534664 2013-05-03 16:19:42

+0

你會保持行動開放供大家查看嗎? – user1534664 2013-05-03 16:40:28

+0

@ user1534664因爲這只是一條信息消息,所以它似乎並沒有損害任何東西。如果有人在您的應用程序中尋找到這種程度,確保他們看不到任何「受保護」信息更爲重要。 – GalacticCowboy 2013-05-03 17:24:36

相關問題