1
使用Fluent Security在mvc網絡應用程序的控制器視圖上設置SSL重定向的最佳方式是什麼?如何使用Fluent Security在ASP.net MVC應用程序中設置SSL重定向?
使用Fluent Security在mvc網絡應用程序的控制器視圖上設置SSL重定向的最佳方式是什麼?如何使用Fluent Security在ASP.net MVC應用程序中設置SSL重定向?
最好的方法是創建一個自定義策略和策略處理程序。這是我如何完成它:
我的自定義策略
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命名約定。但是一旦這些是正確的,你應該看到這個代碼完美無缺!