【问题标题】:hosting wcf service on localhost iis在 localhost iis 上托管 wcf 服务
【发布时间】:2012-07-06 04:25:40
【问题描述】:

我正在开发一个 Asp.Net 应用程序,该应用程序将与托管在 IIS 上的本地计算机上的 WCF 服务进行交互。

为了使这些 wcf 服务被托管,用户在登录时必须拥有哪些权限?他们必须在机器上拥有管理员权限吗?

P.S.:我知道 WCF 服务不应该托管在单个本地机器上,所以请不要开始讨论这个问题。我只想知道登录用户需要具备哪些权限才能使 WCF 服务对应用程序可用。

【问题讨论】:

  • 您是否在 WCF 服务中使用模拟并依赖 Windows 用户/组来处理文件/文件夹安全?
  • 好吧。这就是想法。我不想让匿名用户消费服务。
  • 如果您不希望匿名用户访问该服务,您需要在您的服务级别上实施某种形式的身份验证以确定访问权限。您可以通过用户名密码验证或证书来做到这一点

标签: wcf iis localhost


【解决方案1】:

这实际上取决于您如何设置服务。您可以将网站配置为允许匿名访问,并将您的 WCF 绑定设置为具有无安全模式的 basicHttp 绑定。这应该允许任何登录用户运行该站点。如果这是您要查找的内容,这不会将用户限制为仅登录到本地计算机的用户。

您在这里处理两个级别的安全性。您将在 IIS 中定义您的访问权限以允许用户使用该站点。然后您将设置 WCF 服务以允许 IIS 站点访问它。如果您使用通过身份验证,那么您将需要授权单个用户,也许与本地组?否则,您需要授权 IIS 在其下运行站点的身份。因此,用户不必是管理员,除非您在 IIS 或 WCF 中明确要求该角色。

【讨论】:

  • 我根据 cmets 扩展了我的答案,在意识到我没有专门解决管理问题之后。