1

我有一个关于 ASP.Net 在尝试访问需要身份验证的页面时附加的 returnUrl 查询字符串参数的问题。在查看 Microsoft NerdDinner Sample 的 LogOn 操作(以及我在网络上看到的所有其他“示例身份验证代码”)时,它只是在操作的签名中声明了 ReturnUrl 参数,并直接在 Redirect() 调用中使用它。然而,回到 WebForms 时代并使用成员控制,我们使用 FormsAuthentication.GetReturnUrl() 调用。如果查询字符串中没有指定 url,除了返回“默认 url”外,它还会进行一些安全检查(跨应用重定向和“IsDangerousUrl()”)。这些不再是一个问题,还是我在整个网络上看到的所有示例“登录”操作都忽略了这些问题?

4

1 回答 1

0

我不确定您查看的示例,但完全有可能像在 MVC 中一样使用 Forms Authentication,并从FormsAuthenticationModule处理中执行的检查(或FormsAuthentication直接使用类)中受益。

IIRC,Visual Studio 中的默认 MVC 应用程序包括一个围绕表单身份验证 ( ) 的适配器,AuthenticationService它可以很容易地适应使用ReturnUrl查询字符串。

我想有问题的样本只是忽略了 XSR 攻击。

于 2010-05-24T21:25:58.573 回答