我的 asp.net 应用程序使用工作正常的表单身份验证。我还希望能够创建“魔术”链接,有人可以点击链接而无需登录。例如,如果用户访问
http://myapp.com/viewstuff.aspx
然后他们将被重定向到login.aspx
第一个,但如果他们访问
http://myapp.com/viewstuff.aspx?ThingId=1234&Expires=20121004153200&Signature=aksdjfhalsdfydmvbsdkfjhysdk
然后它会自动将他们作为访客帐户登录并让他们查看请求的内容。我可以生成这样的链接并编写逻辑来检查签名是否有效,但我不确定在 ASP.NET 生命周期中的哪个位置放置我的逻辑。有什么建议么?
目前我已经将逻辑放入 Application_AuthorizeRequest 但它似乎并不理想,因为一旦我对用户进行了身份验证,我就需要 Redirect() 。我希望能够设置一些东西,所以说'好的,我已经验证了这个人并设置了他们的身份,让他们的请求继续'。
如果有人有一个实现这个的例子,那就太好了。