传递查询字符串时绕过表单身份验证

Pau*_*aul 5 asp.net forms-authentication

在ASP.Net中,如果传入特定的查询字符串参数,是否有人知道绕过表单身份验证的方法?

如:

mydomain.com/myprotectedpage.aspx
Run Code Online (Sandbox Code Playgroud)

...我希望受到表单身份验证的保护(因此,重定向到登录页面)

mydomain.com/myprotectedpage.aspx?myBypassParameter=me
Run Code Online (Sandbox Code Playgroud)

...我希望页面正常呈现

这是可能吗?

Ric*_*zak 2

实际上并不是任何“官方”的做法。

你可以做我所做的,就是有一个基本页面而不是 system.web.ui.page ,如下所示:

Public MustInherit Class ProtectedPage
Inherits System.Web.UI.Page

Private Sub Page_InitComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.InitComplete
    If User.Identity.IsAuthenticated = False Then
        If String.IsNullOrEmpty(Request.QueryString("myBypassParameter")) Then
            FormsAuthentication.RedirectToLoginPage()
        End If
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

结束课程