我需要扩展内置 WCF 身份验证,因此我的新身份验证应该与内置身份验证并排工作。
例如,我想允许从注册 IP(自定义身份验证)或用户名+密码(内置身份验证)访问。
我已经成功实施ServiceAuthenticationManager和ServiceAuthorizationManager.
ServiceAuthenticationManager.Authenticate只需将IPrincipal实现添加到消息属性,从传入消息属性ServiceAuthorizationManager.CheckAccessCore复制到属性。IPrincipalAuthorizationContext
但是,ServiceAuthenticationManager.Authenticate即使我返回authPolicy或base.Authenticate调用结果,对于标准机制也是完全破坏的。
也许我走错了方向?添加自定义 WCF 身份验证而不影响现有身份验证的正确方法是什么?如果自定义失败,如何回退到内置身份验证?