asp.net独特的链接生成器

时间:2010-01-28 20:33:03

标签: c# asp.net

在电子邮件中,我希望我的用户能够点击链接以确认面试时间表。如何动态创建这些网址?

我正在考虑使用查询字符串,我不希望他们每次都必须登录。理想情况下,我希望此查询字符串包含凭据,日期和时间。当然,我希望以一种简单的方式加密。

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

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您始终可以使用Guid方法使用NewGuid

就个人而言,在链接上使用它之前,我会删除大括号和破折号。

答案 1 :(得分:1)

虽然您可以使用GUID并可能将其与数据库中的用户相关联,但您需要创建一些关于应用程序如何排除GUID的业务逻辑。例如,您可能会说UserA具有GUID,如果在接下来的15分钟内使用该GUID,则UserA会自动登录,但在15分钟后强制用户使用用户名和密码。

类似地,您可以创建一个查询字符串,例如u = UserA& time = 1347& date = 01282001,然后通过某种哈希运行它。当它重新进入时,取消它(因此你不能使用MD5),检查时间戳并查看自创建时间戳以来已经存在多长时间。如果它在可接受的时间范围内,请让用户输入,如果不强制他们使用用户名和密码。这不需要您在数据库中与您的用户进行任何关联,因此与GUID相比可能是一个更简单的解决方案。

答案 2 :(得分:0)

如果某些程序员遇到此页面。

在本文中:http://www.ietf.org/rfc/rfc4122.txt

  

不要以为UUID难以猜测;他们不应该被使用   作为安全能力(仅仅拥有授权的标识符)   访问),例如。可预测的随机数源将为   加剧了局势。