验证用户[这个问题涉及到ASP.NET MVC4,并且它是关于最佳实践方法 - 所以请,不建议黑客]在查询字符串身份验证令牌与ASP.NET MVC
我想使用请求URL中发送的身份验证令牌对用户进行身份验证。它的作用类似于密码重置令牌,除非在这种情况下它不会进入重置页面,而是授予对网站某些部分的访问权限。这个想法是将带有认证令牌的URL发送到用户的经过验证的电子邮件地址。用户可以单击链接并执行一些操作,而无需键入密码。
开箱即用,ASP.NET具有[Authorize]属性和SimpleMembershipProvider - 这些似乎很好,但他们在引擎盖下面做了一些巫术魔法(如自动生成数据库表),所以我不知道如何扩展它们来添加这个基于链接的身份验证令牌。
我不期待一个确切的答案,但请指点我正确的方向。
谢谢!
谢谢 - 这是很好的建议,尽可能遵循形式。我如何区分真正的表单身份验证和基于链接的身份验证?基于链接的身份验证不应该提供与forms-auth相同的权限 - 例如,基于链接的身份验证用户不应该能够更改其密码或电子邮件地址。 – 2013-03-07 08:23:19
你可以很容易地区分这一点。在Application_BeginRequest中,您将把查询字符串转换为cookie,您可以解密cookie,将自定义数据(如果用户身份验证来自查询字符串,将您的情况标志)放入勾号中,然后您可以阅读此处处理用户身份验证(例如操作过滤器)。有关自定义身份验证数据的更多信息:http://www.danharman.net/2011/07/07/storing-custom-data-in-forms-authentication-tickets/ – 2013-03-07 08:29:41
呃......有趣。我会尝试的。 – 2013-03-07 17:57:13