所有这些都与 WebHttp 绑定有关,托管在自定义服务主机中(此时 IIS 不是一个选项)。
我已经实现了自定义 UserNamePasswordValidator 和自定义 IAuthorizationPolicy。当我将端点的绑定配置为使用基本身份验证时,一切都按我的意愿工作(自定义主体、自定义角色等)。
我还想添加匿名 HTTP 访问的能力,并让我的自定义实现将匿名用户置于一些默认角色等。(如果没有发送 Authenticate 标头)。
现在发生的情况是,在我的任何自定义代码被命中之前,匿名用户都会收到 401。如果我关闭 HTTP Basic 身份验证要求,则完全忽略 Authenticate 标头。
如何配置或注入 Authenticate 标头,以两种方式执行此操作(不创建 2 个单独的端点)?