【问题标题】:Redirect to secure area (ssl)重定向到安全区域 (ssl)
【发布时间】:2011-09-19 15:19:41
【问题描述】:

登录后,我想重定向到我网站上具有 ssl 保护的安全区域。我正在尝试这个:

' After successfull authentication
Dim serverName As String = HttpUtility.UrlEncode(HttpContext.Current.Request.ServerVariables("SERVER_NAME"))

Dim vdirName As String = HttpContext.Current.Request.ApplicationPath

Context.Response.Redirect("https://" & serverName & vdirName & "/Restrictedarea/Default.aspx", True)

这在服务器上工作,但在本地运行时端口号丢失。我如何编写以上内容以同时适用于在线和本地?

【问题讨论】:

    标签: asp.net redirect https


    【解决方案1】:

    感谢您将我带到 uri 构建器。我想出了这个解决方案,它适用于本地(使用端口号)和远程。

      Private Function pathCombine(ByVal p1 As String, ByVal p2 As String) As String
        Return String.Format("{0}/{1}", p1.TrimEnd.TrimEnd(CChar("/")), p2.TrimStart(CChar("/")))
      End Function
    
      Private Function getURI(ByVal https As Boolean, ByVal appendPath As String) As UriBuilder
        Dim uri As New UriBuilder
    
        ' set scheme / protocol
        uri.Scheme = CStr(IIf(https, "https", "http"))
    
        ' set port
        Dim port As String = System.Web.HttpContext.Current.Request.ServerVariables("SERVER_PORT")
        Select Case port
          Case Nothing, "80", "443"
            uri.Port = -1
          Case Else
            uri.Port = CInt(port)
        End Select
    
        ' set server / host        
        uri.Host = HttpUtility.UrlEncode(HttpContext.Current.Request.ServerVariables("SERVER_NAME"))
    
        ' set the path
        uri.Path = pathCombine(System.Web.HttpContext.Current.Request.ApplicationPath, appendPath)
    
        Return uri
      End Function
    

    两个使用示例:


    Context.Response.Redirect(getURI(True, "secure/Default.aspx").ToString, True)
    

    Dim uri As New UriBuilder(getURI(True, "secure/Default.aspx").ToString)
    uri.Query("foo=bar")
    Context.Response.Redirect(uri.ToString, True)
    

    【讨论】:

      【解决方案2】:

      使用UriBuilder获取您需要的信息

      【讨论】:

        猜你喜欢
        • 2016-05-16
        • 1970-01-01
        • 1970-01-01
        • 2017-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-13
        相关资源
        最近更新 更多