果园主题属性外部控制器

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

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

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

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

  1. 在所有模块中实施适当的权限检查( IAuthorizerIAuthorizationService ), IAuthorizationService在适当的情况IAuthorizer退,例如重定向到禁止的错误页面
  2. 添加IAuthorizationServiceEventHandlerIAuthorizationServiceEventHandler地实现检查