Fluent Security を使用して、mvc Web アプリ内のコントローラーのビューで SSL リダイレクトをセットアップする最良の方法は何ですか?
1 に答える
2
最善の方法は、カスタム ポリシーとポリシー ハンドラーを作成することです。これが私がそれを完成させた方法です:
私のカスタム ポリシー
public class RequireSslPolicy : ISecurityPolicy
{
public PolicyResult Enforce(ISecurityContext context)
{
var req = HttpContext.Current.Request;
if (!req.IsSecureConnection && !req.IsLocal)
return PolicyResult.CreateFailureResult(this, "A Secure Connection is Required.");
return PolicyResult.CreateSuccessResult(this);
}
}
私のカスタム ポリシー ハンドラ
public class RequireSslPolicyViolationHandler : IPolicyViolationHandler
{
public ActionResult Handle(PolicyViolationException exception)
{
var req = HttpContext.Current.Request;
var url = req.Url.ToString().ToLower().Replace("http:", "https:");
return new RedirectResult(url);
}
}
ポリシーをコントローラーまたはコントローラー内のアクションに追加するコード
c.For<AccountController>().AddPolicy<RequireSslPolicy>();
そして、それだけです!もちろん、依存性注入を正しく構成し、Fluent Security の命名規則に従っていることを確認する必要があります。しかし、それらが正しければ、このコードが完全に機能することがわかるはずです!
于 2013-02-17T22:35:44.780 に答える