【问题标题】:How do you use Fluent Security to Setup SSL Redirection in an ASP.net MVC application?如何使用 Fluent Security 在 ASP.net MVC 应用程序中设置 SSL 重定向?
【发布时间】:2013-02-17 22:35:44
【问题描述】:

使用 Fluent Security 在 mvc Web 应用程序中的控制器视图上设置 SSL 重定向的最佳方法是什么?

【问题讨论】:

    标签: asp.net-mvc redirect ssl fluent-security


    【解决方案1】:

    最好的方法是创建自定义策略和策略处理程序。我是这样完成的:

    我的自定义政策

    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 命名约定。但是一旦这些都是正确的,你应该会看到这段代码完美地工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 2020-05-08
      • 2018-10-03
      • 2016-02-04
      • 2010-12-06
      相关资源
      最近更新 更多