我正在尝试构建一个使用SSL连接的Web应用程序.所以我做了一些研究,发现我可以使用RequireHttpsAttribute类来实现我所需要的.事情是,当我使用它时,应用程序的执行导致310错误(重定向太多).我甚至构建了一个自定义类来处理从http到https的切换.但这也会导致错误.
我的类处理te协议开关:
Public Class RequireSSLAttribute
Inherits ActionFilterAttribute
Public Property IsRequired() As Boolean
Public Overrides Sub OnActionExecuting(filterContext As ActionExecutingContext)
If Me.IsRequired AndAlso filterContext.HttpContext.Request.Url.Scheme <> "https" Then
filterContext.HttpContext.Response.Redirect(filterContext.HttpContext.Request.Url.OriginalString.Replace("http:", "https:").Remove(filterContext.HttpContext.Request.Url.OriginalString.LastIndexOf(":") + 1), True)
filterContext.Result = New HttpUnauthorizedResult
End If
End Sub
Public Sub New()
IsRequired = True
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)