C# 控制器外部以果园为主题的属性

C# 控制器外部以果园为主题的属性,c#,orchardcms,C#,Orchardcms,我有一个服务将覆盖响应主体的内容。 是否可以在覆盖内容的方法中使用主题 [Themed] public void forbiddenAlert(IHttpContextAccessor Hca) { // overriding response body } 不,我认为这不会起作用,因为主题的属性仅用于装饰控制器 此外,我认为您拒绝访问的方法不正确。事件处理程序不应该覆盖响应主体(分离关注点,它很可能无论如何都不会工作)。iaAuthorizationServiceEventHandl

我有一个服务将覆盖响应主体的内容。
是否可以在覆盖内容的方法中使用主题

[Themed]
public void forbiddenAlert(IHttpContextAccessor Hca) 
{
  // overriding response body 
}

不,我认为这不会起作用,因为
主题的
属性仅用于装饰控制器

此外,我认为您拒绝访问的方法不正确。事件处理程序不应该覆盖响应主体(分离关注点,它很可能无论如何都不会工作)。
iaAuthorizationServiceEventHandler
应检查权限并返回是否授予访问权限。授予或不授予权限时发生的情况通常与其他代码部分有关。我会走这条路:

  • 在所有模块中实施适当的权限检查(,),并在出现任何合适的故障时进行回退,例如重定向到禁止的错误页面
  • 添加一个
    IAuthorizationServiceEventHandler
    以相应地执行检查

  • bankedenalert
    是控制器操作吗?@virustinity否是在
    iaAuthorizationServiceEventHandler
    Eventhandler中的
    检查(CheckAccessContext上下文)
    时调用的方法