是否可以阻止某個操作直接從瀏覽器執行,但仍可以從網站內部重定向到該操作?我知道這聽起來很愚蠢,但這是我想要的:ASP.Net中的會話固定MVC
假設有兩條路線,和Index2
的HomeController
。
www.website.com/home
將導致索引被執行,然後我想執行一些代碼,然後重定向(或服務器傳輸)到www.website.com/home/index2
。
我不希望網址www.website.com/home/index2
被用戶直接訪問,而不會先去home/index
。
有什麼我可以做的,以停用/激活路線在運行時?
編輯:對不起,這個問題是名爲「會話固定」因爲我需要Index
到之前Index2
運行,以確保我們正在殺死所有會話中Index
和以前Index2
執行更新它們。
由於Index2
需要會話才能完成工作,我無法在相同的請求中終止會話並執行Index2
中的代碼。
我想過使用referrer,但那不安全。 如果我返回ActionResult,這是否就像在同一個Action中執行這兩段代碼一樣? – Teto 2009-11-02 20:04:04
您可以先執行常規Index操作的幕後代碼,然後在所有特定的Index()代碼之後有一行像'return Index2();'。 – 2009-11-02 20:57:01