我正在使用继承UserNamepasswordvalidator的Customvalidator类 问题是每次请求都会调用它。我希望在用户通过身份验证后绕过它
任何帮助将不胜感激
答案 0 :(得分:0)
无法跳过验证器,自定义,用户名/密码或基于证书。它实际上是在请求命中主函数之前调用的,因此无法使用会话或变量来绕过它。
这真的是将身份验证与消息处理分开......它允许您在请求/响应过程的最早阶段拒绝伪造请求,这样您的程序就不会浪费周期来抵御僵尸攻击等。
当然,您可以在消息处理中预先不进行身份验证,并在请求到达时进行身份验证(而不是在之前的模型中)。此时,您可以以编程方式创建会话并从那里继续...但您将处理通过的每条消息。
但是,我会加上这个。如果认为如果使用NetTCPBinding或NetNamedPipesBinding之类的东西,则可以在客户端和主机之间创建持久会话,从而只进行一次身份验证。