C# OrchardCMS 动态启用功能

C# OrchardCMS Enable features dynamically

作为此 的一部分。有什么方法可以动态启用功能?

我想要实现的是与 Orchard 中的 Permissions 完全相同的概念。除了不限制用户使用此功能,我不希望它们显示在前端。

这仍然可以使用自定义权限来实现,但与我在问题中提到的不同 回答,权限不会立即实例化,但将从第三方接收 API 在 IAuthorizationServiceEventHandler

    public void Complete(CheckAccessContext context)
    {
     /// get the permission for the current IUser via thirdpart API
     /// Enable/Disable features depending on the response
    } 

假设我将收到如下 json 响应:

[{ "Permission": "Home"  }, { "Permission": "Videos"  }]

您可以使用 IModuleService 界面的 EnableFeatures() / DisableFeatures()

虽然这在处理程序中可能不起作用,但我从来没有遇到过需要在处理程序中启用/禁用功能的情况。