2010-01-28 49 views
2

在電子郵件中,我希望我的用戶能夠點擊鏈接以確認採訪時間表。我如何動態創建這些網址?asp.net獨特鏈接生成器

我想使用查詢字符串,我不希望他們每次都必須登錄。所以理想情況下,我希望這個查詢字符串包含憑據,日期和時間。當然,我希望以某種簡單的方式對其進行加密。

例如:invitation.aspx?qs = 24lkl254524j2re2wtl5y6。

有什麼建議嗎?

+0

爲什麼不加密數據並將其用作查詢字符串? – Wil 2010-01-28 20:40:18

回答

1

儘管您可以使用GUID並將其與數據庫中的用戶相關聯,但您需要創建一些關於應用程序除外GUID的業務邏輯。例如,您可能會說UserA具有GUID,如果在接下來的15分鐘內使用該GUID,則讓UserA自動登錄,但15分鐘後強制用戶使用用戶名和密碼。

同樣,您可以創建一個查詢字符串,如u = UserA & time = 1347 & date = 01282001,然後通過某種類型的散列運行它。當它重新開始時,不要使用它(所以你不能使用MD5),檢查時間戳並查看自創建時間戳以來已經過了多長時間。如果在可接受的時間範圍內,讓用戶輸入,如果不是強制他們使用用戶名和密碼。這不需要你在數據庫中與你的用戶建立任何關係,所以與GUID相比,這可能是一個更簡單的解決方案。

+0

+1歡迎使用stackoverflow。 – 2010-02-03 17:22:23

2

您可以隨時使用Guid,使用NewGuid方法。

就個人而言,我會在鏈接上使用它之前去掉大括號和破折號。

0

萬一有一些程序員遇到此頁面。

本文內容:http://www.ietf.org/rfc/rfc4122.txt

不要假設的UUID是難以猜測;例如,他們不應該使用 作爲安全功能(僅僅擁有授權
訪問權的標識符)。一個可預測的隨機數字來源將加劇這種情況。