SSL接続を使用するWebアプリケーションを構築しようとしています。そこで、調査を行ったところ、RequireHttpsAttributeクラスを使用して必要なものを実現できることがわかりました。私がそれを使用するとき、アプリケーションの実行は310エラー(リダイレクトが多すぎる)をもたらすということです。httpからhttpsへの切り替えを処理するカスタムクラスも作成しました。しかし、それもエラーになります。
プロトコルスイッチを処理する私のクラス:
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