none
WCF服务中如何获得已经通过验证的用户名和密码 RRS feed

  • 问题

  • 讨论customUsernamePasswordValidator的贴子很多,但是我遇到一个问题,我们不是为验证而验证,除了验证用户有权限访问服 务外,从安全和审计的需要出发,我们需要记录用户在服务中的操作,此时需要将通过验证的用户名甚至密码提取出来,但是在IIS托管的情况 下,customUsernamePasswordValidator与服务行为无法交互,也就是说服务中无法获得已经通过验证的用户名和密码,在服务的 标识上,只有一个WindowsPrincipal,而且被定义为匿名,使用Thread.CurrentPrincipal也无法保存结果,好像服务与 UsernamePasswordValidator不在一个线程上

    请问,我该如何做才能将验证时的用户名和密码保存到当前会话中。在 UsernamePasswordValidator中OperationContext.Current不可访问,也就是说,当前上下文还没有实例 化,SessionID自然也得不到。有点技穷了。
    2010年2月22日 17:28

答案