【问题标题】:Custom authentication for IIS hosted WCF services?IIS 托管的 WCF 服务的自定义身份验证?
【发布时间】:2011-07-05 19:40:35
【问题描述】:

我有一个托管在 IIS 6 中的 WCF(带有 webHttpBinding 的 v3.5)服务。我想在有人可以访问该服务之前实施自定义身份验证,即用户详细信息存储在 db 中。

但正如我在各种帖子和论坛上看到的,对于托管在 IIS 中的 WCF 服务,只有 Windows 身份验证是可能的。没有开箱即用的方法来处理这个问题。

有人可以建议一些解决方法吗?我相信这是一个非常普遍的问题,很多人以前一定遇到过。

【问题讨论】:

  • 这不是真的 - IIS 6 中的 IIS 托管服务仅支持将 http 作为传输协议 - 但它们绝对支持自定义身份验证、证书身份验证还有更多
  • 查看WCF Security Guidance - 问题与答案部分有许多关于如何使用各种身份验证方法的问题(和答案!)
  • @marc_s - 你指出的资源确实很有用,谢谢。但是,自定义身份验证是否仅支持 wsHttpBinding 而不是 webHttpBinding(因为我正在尝试构建 RESTful 服务)?
  • 顺便说一句,我是 WCF 的新手。因此,如果我的发现有误,请多多包涵。

标签: wcf iis-6 http-authentication


【解决方案1】:

我可以借助以下链接实现自定义身份验证 -

http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx (解决方案使用 WCF REST 入门工具包)

http://www.codeproject.com/KB/WCF/AutomaticCultureFlow.aspx (没有入门工具包的指针)

通过在服务器端使用 Message Inspector,我可以在没有入门工具包的情况下做到这一点。我实现了 AfterReceiveRequest 和 BeforeSendReply 方法来执行身份验证。由于我正在创建 RESTful 服务,因此我必须将自定义行为添加到 webHttpBinding。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 2012-02-17
相关资源
最近更新 更多