我想認證系統進行編程,具有以下特點:如何授權用戶在執行POST操作時授權失敗時登錄?
- 使用ASP.NET MVC2
- 使用SQL Server
- (想必)的基礎上的MembershipProvider
- 用戶註冊電子郵件確認 基於
- 角色授權
..和最後但並非最不重要: - 在執行POST操作時授權失敗時,給予用戶登錄和/或註冊的機會。
最後一個功能是最具挑戰性的功能。當用戶執行POST操作(或某種其他類型的請求)並且會話超時(或由於其他原因未授權用戶)時,用戶必須重定向到登錄/註冊表單。在登錄和/或註冊過程中,請求數據(POST,GET等)的數據必須保存在某處。在用戶成功授權後,數據應該被恢復並且請求必須使用保存的數據來執行。
我想到的解決方案是請求數據被序列化並存儲在數據庫中,由某個唯一鍵標識。這個唯一的密鑰放在cookie和/或登錄/註冊表單中的隱藏字段中。當用戶成功登錄後,可以使用此鍵恢復上下文,並且可以使用此「舊」請求數據執行操作。
對我來說最棘手的是我不知道應該保存哪些數據以及如何以及如何以及在哪裏恢復上下文。我希望能夠使用像[Authorize]和Routing這樣的屬性。我想(我想)我看起來幾乎到處都是,但沒有令人滿意的結果。我希望有人能幫助我。提前致謝!
這就是我所做的,除了我將數據序列化並將其放入隱藏字段,而不是將其存儲在我的數據庫中。當然,我先加密它。你想看看我的一些代碼嗎? – 2011-01-06 23:32:06
我對你的代碼非常感興趣!我特別感興趣的是您在成功登錄後重新加載舊請求數據的方式。 – Dirk 2011-01-09 06:23:43