gpt4 book ai didi

asp.net-mvc - 如何使用 Fluent Security 在 ASP.net MVC 应用程序中设置 SSL 重定向?

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:29 25 4
gpt4 key购买 nike

使用 Fluent Security 在 mvc 网络应用程序中的 Controller View 上设置 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);
}
}

将策略添加到 Controller 或 Controller 内的操作的代码

c.For<AccountController>().AddPolicy<RequireSslPolicy>();

就是这样!当然,您需要确保正确配置依赖注入(inject)并遵循 Fluent Security 命名约定。但是一旦这些都是正确的,您应该会看到这段代码可以完美运行!

关于asp.net-mvc - 如何使用 Fluent Security 在 ASP.net MVC 应用程序中设置 SSL 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com