代码之家  ›  专栏  ›  技术社区  ›  zadam

wcf-启用Windows和用户名身份验证

  •  1
  • zadam  · 技术社区  · 16 年前

    启用可以使用调用WCF服务的方案所需的重要配置点是什么 任何一个 登录用户的Windows凭据 或 用户名/密码组合。

    我很确定我知道如何设置它们,但我不知道如何强制使用用户名/密码端点。

    只是使用允许您指定特定端点的构造函数,然后设置clientcredentials.username.username和.password的问题吗?

    谢谢。

    3 回复  |  直到 16 年前
        1
  •  0
  •   Mark Allanson    16 年前

    只要您的配置客户机端点存在于config中,并且配置为使用相关的身份验证方法,那么您是对的,它就像在构造函数中指定配置名称并向客户机提供uname/pwd一样简单。

        2
  •  0
  •   blowdart    16 年前

    您只需要更改端点上的绑定;

    <wsHttpBinding>
      <binding name="WSHttpUserName">
        <security>
          <transport clientCredentialType="None" />
          <message clientCredentialType="UserName" />
        </security>
      </binding>
    </wsHttpBinding>
    

    现在,如果您想要自动的Windows身份验证,那么您将需要另一个端点,在clientCredentialType为“Windows”时使用另一个绑定。

    或者您可以将其放在传输中,而不是消息中,但在任何情况下,您都需要使用SSL进行用户名验证。

        3
  •  0
  •   bychkov    16 年前

    在服务的绑定配置中有一个安全部分。在那里,您可以选择要使用的安全模式(无/传输/消息/传输消息/传输消息凭据),然后对于每个特定模式,您可以自定义安全设置(如凭据类型-用户名/窗口/证书等)。然后,在客户机端,您需要相应地配置绑定,以便在其中设置要使用的安全模式类型和标识类型。您可以从代码或使用配置文件对其进行同等配置。

    MS模式和实践提供了非常好的WCF安全指导。链接如下: http://www.codeplex.com/WCFSecurityGuide

    它有很多针对特定场景的热销作品。例如,以下是有关如何使用Windows身份验证和来自WinForms的消息安全配置NetTcpBinding的演练: http://wcfsecurityguide.codeplex.com/Wiki/View.aspx?title=How%20To%20-%20Use%20netTcpBinding%20with%20Windows%20Authentication%20and%20Message%20Security%20in%20WCF%20from%20Windows%20Forms

    推荐文章