在 WCF 代理中实现 Ws 安全

2024-03-31

我已将基于轴的 wsdl 导入到 VS 2008 项目中作为服务参考。

我需要能够传递安全详细信息(例如用户名/密码和随机数值)来调用基于轴的服务。

我已经考虑过为 wse 做这件事,我知道世界讨厌它(那里没有问题)

我对 WCF 的经验很少,但多亏了 SO,现在已经研究了如何物理调用端点,但不知道如何设置 SoapHeaders,如下图所示:

<S:Envelope 
  xmlns:S="http://www.w3.org/2001/12/soap-envelope"
  xmlns:ws="http://schemas.xmlsoap.org/ws/2002/04/secext">
    <S:Header>
        <ws:Security>
            <ws:UsernameToken>
                <ws:Username>aarons</ws:Username>
                <ws:Password>snoraa</ws:Password>
            </ws:UsernameToken>
        </wsse:Security>
        •••
    </S:Header>
    •••
</S:Envelope>

非常感谢任何帮助

谢谢,马克


为了调用这些类型的服务,您通常会使用basicHttpBinding(这是没有 WS-* 实现的 SOAP 1.1)或者然后wsHttpBinding(SOAP 1.2,带有 WS-* 实现)。

主要问题是确保所有安全参数正确。我有一个类似的 Web 服务(基于 Java),我需要调用 - 这是我的设置和代码:

应用程序./web.config

<system.serviceModel>
   <bindings>
      <basicHttpBinding>
         <binding name="SoapWithAuth" useDefaultWebProxy="false">
            <security mode="TransportCredentialOnly">
              <transport clientCredentialType="Basic" proxyCredentialType="None" realm="" />
            </security>
         </binding>
      </basicHttpBinding>
   </bindings>
   <client>
    <endpoint name="SoapWithAuth"
                  address="http://yourserver:port/YourService"
                  binding="basicHttpBinding" 
                  bindingConfiguration="SoapWithAuth"
                  contract="IYourService" />
   </client>
</system.serviceModel>

然后在调用服务时在客户端代码中,您需要以下代码片段:

IYourServiceClient client = new IYourServiceClient();

client.ClientCredentials.UserName.UserName = "username";
client.ClientCredentials.UserName.Password = "top-secret"; 

这些帮助有用?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WCF 代理中实现 Ws 安全 的相关文章

  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • HTML 属性 bgcolor 已弃用:用什么代替?

    VStudio ASP NET 给出以下消息 Attribute bgcolor is considered outdated A newer construct is recommended 推荐的结构是什么 bgcolor是在一个 td
  • 检查应用程序是否从 Visual Studio 调试会话中启动

    我正在开发一个安装系统范围键盘的应用程序 钩 我不想在运行调试时安装这个钩子 从视觉工作室内部构建 否则它会挂起工作室 以及最终的系统 我可以通过检查是否 DEBUG 符号已定义 但是 当我调试时release应用程序的版本是 有一种方法可
  • 通过本地项目引用导入 NuGet 引用

    假设我有一个 主 C 项目 它使用 NuGet 来管理其第三方依赖项 现在假设我在主项目旁边创建一个单元测试项目 其中包含主项目作为参考 不幸的是 我似乎需要重新添加通过主项目中的 nuget 包含的依赖项 以便使用它们为单元测试项目中的单
  • 如何使用 ASP.NET Web API 生成 ATOM 和 RSS2 提要?

    需要采取哪些步骤来调整 ASP NET Web API 的默认 XML 输出以生成 ATOM 和 RSS2 提要 您将需要实现自定义 MediaTypeFormatter 您可能想查看 Filip 的博客文章用于 ASP NET WebAP
  • 是否可以在自定义 WCF 服务行为中创建 TransactionScope? (异步、等待、TransactionScopeAsyncFlowOption.Enabled)

    TL DR 解释问题的截屏视频 https youtu be B Q3T5KpiYk https youtu be B Q3T5KpiYk Problem 当交易从客户端流向服务时交易 当前变成null after awaiting服务到服
  • MVC 操作过滤器和多线程

    我目前遇到了操作过滤器的线程问题 在我的应用程序上 我使用 ActionFilter 来执行每个操作的跟踪 此跟踪将提供统计信息 例如调用的持续时间 并记录参数被派往行动 实际的跟踪实现 由其他团队完成 使用 IDisposable 对象
  • 将 Windows 窗体应用程序转换为 Asp.net

    我问的是 您之前使用的将 C Windows 窗体应用程序转换为 ASP NET 的最佳工具是什么 我已经关于这个主题 发现了很多工具 但我希望有人根据他的使用情况推荐最好的工具 我真的不建议使用工具来进行转换 Web 应用程序和 WinF
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC
  • href 中的 Mono ASP.NET MVC 波形符导致 System.NotImplementedException

    我正在尝试在 Ubuntu 14 04 1 上使用 Mono 3 12 0 制作 ASP NET 应用程序 每当我尝试在我的 href 中使用波浪号时 Layout cshtml 我得到一个System NotImplementedExce
  • ASP.NET:如何删除所有用户的所有会话变量?

    我们有 ASP NET 应用程序 想要删除所有用户的所有会话中的所有会话变量 我的意思是不要仅使用以下命令从当前会话中删除会话变量 Session Clear or Session Abandon 我们还需要清除其他用户会话中的会话变量吗
  • 用于 C++ 数据复制的 Boost::Signals

    最近我有一堂课看起来像 class IGraphElement typedef void FuncCharPtr char int public void Add FuncCharPtr f FuncVec push back f void
  • Resharper 删除了 CTRL + .快速操作任务

    所以我终于尝试了 ReSharper 到目前为止它还不算太糟糕 但它似乎确实取代了很多按键绑定 我保留了原来的 VS 键绑定 每次当我被问到当存在冲突键绑定时我想做什么时 这很酷 不过 我似乎失去了 CTRL QuickActions 窗口
  • WCF 仅跟踪失败的请求?

    我想将跟踪信息保存到 svclog 文件中 但仅限于失败的请求 这可能吗 如果是这样 具体如何 我有一个每分钟调用数百次的 WCF 服务 在极少数情况下 客户端会收到错误 500 该错误发生在 WCF 内运行的代码边界之外 通常是安全问题
  • 异步WCF调用来保存线程?

    In 另一个问题 https stackoverflow com q 19731600 279516 建议我发送异步网络请求 而不是在后台线程上发送同步请求 原因是为了不浪费一根线 我试图理解这是怎么回事 这是最初的做法 我可以理解这里怎么
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 检测 ASP.NET MVC 上的会话过期

    我构建了一个购物车 它使用会话状态在用户浏览商店时保留购物车数据 我遇到一个问题 如果我在购物车的第 1 步上长时间打开浏览器窗口 然后按 转到第 2 步 我的操作会引发错误 因为第 2 步操作假定会话尚未过期并且ShopCart 对象处于
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运

随机推荐

  • Haxe 编译器可以将任何 C# 代码转换为 Haxe 吗?

    首先 我对 Haxe 非常陌生 所以我在这里问超级菜鸟问题 我有两个问题 1 我的第一个问题是我知道Haxe编译器可以从Haxe转换为任何其他语言 支持 但是它可以将其他语言 支持 的源代码转换为Haxe吗 2 如果它能做到这一点 它的能力
  • 获取切换RadioButton用户值

    在我的javafx项目代码中是这样的 如何获取我需要的radioButton字符串值 但就像那样 我今天点击 输出是打印Today如此 Today 昨天 Duration 如何从这个输出group selectedTogglePropert
  • Django 应用程序是否可以知道用户的 Windows 域名?

    我需要制作一个简单的知识库类型应用程序以在公司内部网络中使用 为了使最终用户使用起来简单快捷 我想部分跳过所有登录 因为它只对我们信任的内部网络用户可见 并自动从用户中提取域用户名并放入它进入数据库 不希望人们浪费时间手动输入他们的名字 他
  • 如何强制win10打开虚拟平板键盘?

    我有一个需要虚拟键盘的应用程序 但是 当我点击我的一些TextBoxes 它们不会使虚拟键盘出现 我尝试过使用这个 System Diagnostics Process Start osk exe 但这会打开另一个键盘 该键盘在TextBo
  • 在 onBackStackChanged() 内调用时,SDK 25.1.0 在 CommitNow 上崩溃。谷歌错误?

    我有一个活动 有 2 个片段FragmentMainOne and FragmentMainTwo每当onBackStackChanged 叫做 public class MainActivity extends AppCompatActi
  • 当小部件包装在 InteractiveViewer 中时,Flutter onPanStart 会延迟调用

    我只有一个简单的容器 其右侧中心有一个调整大小手柄 这意味着可以使用该手柄调整容器的大小 它被包裹在里面InteractiveViewer widget import package flutter material dart import
  • 使用nested_form获取对象值

    我有一个嵌套表单 订单付款 我想在编辑视图中测试嵌套表单 fields for 中的值 但问题是我无法检查每个 我只能这样做 您现在是否可以检查每个 例如 如果我理解这个问题 那么您正在编辑订单并拥有fields for对于付款并想要获取与
  • .c 文件中的 C99 内联函数

    我在 c 中定义了我的函数 没有标头声明 如下所示 inline int func int i return i 1 然后在下面的同一个文件中我使用它 i func i 在链接过程中 我得到了 对 func 的未定义引用 为什么 The i
  • Raspbian 的软浮动版本无法启动

    我在这里下载了 Raspbian 的硬浮动图像 http www raspberrypi org downloads http www raspberrypi org downloads 我将推荐的硬浮动映像复制到 SD 卡上 并且 Ras
  • VSCode 是否应该报告从编译中排除的 TS 文件的错误?

    我提交了这个错误报告 https github com Microsoft vscode issues 53733 issuecomment 403153218使用 VSCode 因为我已经排除了 spec编译中的文件 因为我不想将这些文件
  • 自动任务和静态任务有什么区别,为什么我们不能通过引用传递静态任务

    静态任务和自动任务有什么区别 program class ref int index value class holding values int ass array task assign value int value int inde
  • LinearSVC.coef_ 中的 n_classes 顺序

    我正在与 LinearSVC 合作将文本数据分为 3 类 输入数据是每个单词的 tfidf 分数 我有兴趣了解单词对分类的 贡献 第一个问题是我可以使用 coef 吗 文档指出 coef 数组 形状 n features 如果 n clas
  • 使用 cakephp 获取名称显示在下拉列表中

    我想在下拉列表中显示我们所有项目负责人的姓名 项目负责人只是公司的部分员工 这是我的表格 project leaders id hr employee id 1 18 projects id name project leader id 1
  • R 基本函数根据长度对字符串向量进行排序

    我想知道 R 基础包中是否已经有一个函数可以对字符串向量进行排序 同时考虑每个元素的长度 当然还有字典顺序 例如在一个sort调用一些包含您将拥有的年龄组的向量 v lt c 00 04 05 09 10 14 100 104 105 10
  • Matter.js 用于碰撞检测

    我对在这里提问还比较陌生 所以请耐心等待 我正在尝试使用 Matter js 作为主要物理引擎创建一个自上而下的驾驶游戏 我希望红色汽车与绿色方块相撞 然而 我仍然坚持知道如何在我的游戏中实现 Matter js 任何形式的回应将不胜感激
  • 如何在 R 中创建具有特定间隔的向量?

    我有一个关于创建向量的问题 如果我做a lt 1 10 a 的值为 1 2 3 4 5 6 7 8 9 10 我的问题是如何创建一个元素之间具有特定间隔的向量 例如 我想创建一个具有从 1 到 100 的值的向量 但仅以 5 为间隔进行计数
  • 如何将config.properties转换为键值对?

    我正在尝试将 java 属性文件转换为可以在 jquery 中使用的键值对 属性文件发送如下所示的信息 company1 Google company2 eBay company3 Yahoo 我想要这种形式 var obj company
  • Flutter - 主动检查是否按下了特殊键(如 ctrl)

    Question How to actively check if a certain decoration key is pressed like CTRL or SHIFT like if SomeKeyboardRelatedServ
  • 在 Spring Boot 应用程序的生产中使用 Tomcat

    作为 Spring Boot 的新手 我需要了解以下内容 因为我无法直接找到谷歌结果 他们在现实生活中真正使用哪些应用程序服务器来部署这些 Spring Boot 应用程序 Tomcat 真的被公司使用吗 如果是的话 他们是通过集群来实现的
  • 在 WCF 代理中实现 Ws 安全

    我已将基于轴的 wsdl 导入到 VS 2008 项目中作为服务参考 我需要能够传递安全详细信息 例如用户名 密码和随机数值 来调用基于轴的服务 我已经考虑过为 wse 做这件事 我知道世界讨厌它 那里没有问题 我对 WCF 的经验很少 但