首页 文章

如何验证和授权每个WCF呼叫?

提问于
浏览
8

我有WPF客户端消耗IIS中托管的WCF服务 . 对于身份验证,我正在考虑证书或用户名身份验证 . 客户端在WCF中调用几个方法并传递一些消息 .

  • 对于每次来到WCF的电话,我都要对用户进行身份验证 .

  • 要在db中放置消息,我必须知道谁是调用者,他们的用户名是什么以及关于用户的其他一些属性 . 如何在每次通话时传递这些信息[可能是一个小对象]?

1 回答

  • 10

    这是建议的默认行为 - 每次调用WCF服务都会获得一个新的服务实例,并且每个调用都经过身份验证和授权 .

    只是确保不要在WCF中启用会话模式之类的东西,并且不要沿着WCF单例的路径前进 .

    只需保留一个常规的,标准的“每次呼叫”WCF服务 - 没有问题 .

    如果您在公司LAN上,您还可以考虑使用Windows凭据进行身份验证(这是 wsHttpBindingnetTcpBinding 的默认设置) .

    有一个非常广泛的WCF Security Guide,它有大量的样本和操作指南,介绍如何设置WCF安全的某些场景 .

    我还建议您查看The Fundamentals of WCF Security以获取WCF及其安全机制的精彩介绍 .

    更为高级的是Declarate WCF Security的想法,其中Juval Lowy引入了五种安全方案(这是非常值得阅读的!)并将它们封装到应用于服务 Contract 的安全属性中 .

相关问题