【问题标题】:Fluent Security Custom PolicyFluent 安全自定义策略
【发布时间】:2014-01-27 00:54:03
【问题描述】:

我在 MVC5 应用程序中使用 Fluent Security。我创建了一个名为 RequirePortalRole() 的自定义策略。出于测试目的,我总是返回成功。

我的安全配置如下

            configuration.ForAllControllers().DenyAnonymousAccess();
            configuration.For<AccountController>(x => x.LogOn()).Ignore();
            configuration.For<HomeController>().AddPolicy(new RequirePortalRole());

因为RequiredPortalRole() 总是返回PolicyResult.CreateSuccessResult(this);我希望我可以访问家庭控制器上的任何内容,但除了帐户控制器中的 LogOn 操作之外别无其他。自定义策略似乎没有超越 ForAllController 策略。

知道为什么不?我实际上是在对 HomeController 应用两个策略吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-5 fluent-security


    【解决方案1】:

    添加了策略,并针对每个请求强制执行每个策略。我认为,如果您想访问 HomeController 上的所有内容,则应明确删除该策略:

            configuration.For<HomeController>()
                .RemovePolicy<DenyAnonymousAccessPolicy>()
                .AddPolicy<RequirePortalRole>();
    

    我希望你的问题是正确的。

    【讨论】:

    • 我可以确认@Hernan 建议的解决方案是正确的。
    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多