.net - WCF内网安全配置

标签 .net wcf security intranet

我们有一些应用程序(Web 和 WPF)调用 WCF 服务来访问数据。我们没有使用 Windows 身份验证。登录 Web 应用程序或 WPF 桌面应用程序时,系统会提示用户输入用户名和密码。数据不是高度 secret 的(即没有信用卡、SSN 等)。

我们希望对 WCF 端点使用 BasicHttpBinding。但是,我们希望将用户名和密码传递给我们的 WCF 服务,以便我们可以根据用户限制对某些数据的访问。

我的问题是,由于我们 100% 处于 Intranet 环境中,因此在 SOAP 消息的 header 中简单地传递用户的用户名和密码以便我们可以在 WCF 端对用户进行身份验证是否合理?这似乎是一种非常常见的情况,我很好奇当所有应用程序和服务都驻留在 Intranet 环境中时,其他人如何解决 WCF 端的安全问题。

谢谢。

最佳答案

这似乎是一个相当简单的任务,但实际上非常困难,因为 WCF 团队已经决定不允许通过不安全的 channel 发送纯文本用户名 token 。您始终可以在自定义 SOAP header 中发送用户名和密码,但在这种情况下,您将失去 WCF 安全基础设施,并且必须注入(inject)自己的密码验证行为等。

如果您确实需要纯文本用户名 token ,您应该检查此 binding .

编辑:顺便说一句。请记住,大多数安全攻击来自内部人员,因此使用 HTTPS 并不是一个糟糕的决定,它会让事情变得更加容易。

关于.net - WCF内网安全配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506637/

相关文章:

c# - 设置WinForm ListBox的背景

c# - WCF 数据服务身份验证

wcf - Entity Framework : Change tracking in SOA with POCO approach

security - 可以让x509Certificate不过期吗?如果是这样,怎么办?<EOM>

c# - 编码结构数组与类

.net - .net 中长时间运行的数据库操作

.net - 命名空间 system.data.entity 中不存在命名空间名称 Infrastructure

c# - 生成 WCF 代理的命名空间困境

javascript - 黑客如何将 javascript 代码注入(inject)我的 homepage.php

android - 使用自定义 CA 时 API 17 (JELLY_BEAN) 中的 SSLHandshakeException