果园主题属性外部控制器
我有一个服务,它将覆盖响应正文的内容。
是否可以在覆盖内容的方法中使用主题?
[Themed] public void forbiddenAlert(IHttpContextAccessor Hca) { // overriding response body }
不,我认为这不会起作用,因为Themed
属性仅用于装饰控制器。
此外,我不认为你采取正确的方法拒绝访问。 事件处理程序不应该覆盖响应主体(关注点的分离,它很可能无论如何都不会起作用)。 IAuthorizationServiceEventHandler
应检查权限并返回是否授予访问权限。 授予或未授予许可时发生的事情通常是其他代码部分的问题。 我会走这条路:
- 在所有模块中实施适当的权限检查(
IAuthorizer
,IAuthorizationService
),IAuthorizationService
在适当的情况IAuthorizer
退,例如重定向到禁止的错误页面 - 添加
IAuthorizationServiceEventHandler
以IAuthorizationServiceEventHandler
地实现检查