gpt4 book ai didi

.net - 如何在 WCF 中设置安全 token ?

转载 作者:行者123 更新时间:2023-12-02 18:04:09 25 4
gpt4 key购买 nike

我正在将应用程序从 .net 1.1 升级到 3.5。此应用程序连接到 WCF 服务。以前,Web 服务客户端配置为使用安全 token ,如下所示:

RegistrationWSWse registrationService = new RegistrationWSWse();
Microsoft.Web.Services2.Security.Tokens.UsernameToken token = new Microsoft.Web.Services2.Security.Tokens.UsernameToken("some username", "some password", Microsoft.Web.Services2.Security.Tokens.PasswordOption.SendPlainText );
registrationService.RequestSoapContext.Security.MustUnderstand=false;
registrationService.RequestSoapContext.Security.Tokens.Add(token);

现在,我在 Visual Studio 中向 Web 服务添加了一个新的服务引用,但自动生成的代码没有提供任何设置安全 header 的方法,如上所示。

这是需要在配置文件中配置的东西吗, system.serviceModel部分?

更新

我没有看到用户名/密码属性的原因是因为我使用的是服务接口(interface),而不是实际的实现类。

我可以通过将实例转换为类型来设置这些东西,如下所示:
((RegistrationWSClient)registrationWs).ChannelFactory.Credentials.UserName.UserName = userName;
((RegistrationWSClient)registrationWs).ChannelFactory.Credentials.UserName.Password = password;

您必须做的另一件重要事情是更新您的客户端 app.config 文件。如果您不这样做,则不会在 SOAP header 中设置用户名/密码。例子:
<security mode="TransportWithMessageCredential" />

最佳答案

查看 this article on MSDN . This post也有一些关于你的问题的好信息。

关于.net - 如何在 WCF 中设置安全 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4126539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com