繁体   English   中英

WCF。 设置用户凭证

[英]WCF. Set user credentials

对不起,我的英语不好。

我有wcf services项目和asp.net mvc项目,我正在使用ninject wcf客户端扩展来注入服务,例如本示例

 Bind<IService>().ToServiceChannel();

现在,我需要为wcf服务添加身份验证和授权。 我已经实现了UserNamePasswordValidatorIAuthorizationPolicy

在所有示例中,使用的服务参考和用户凭据均添加如下:

ServiceClient host = new ServiceClient();
host.ClientCredentials.UserName.UserName = "user";
host.ClientCredentials.UserName.Password = "pass";

但是我没有创建服务参考。 我只有接口。 并在这里使用它:

public class HomeController : Controller
{
    private readonly IService _service;
    public HomeController(IService service)
    {
        _service = service;    
    }
}

如何添加用户凭据?

您需要创建一个channelFactory来设置用户凭据:

范例:

var result = new ChannelFactory<IService>("*", new EndpointAddress(serviceAddress));
    result.Credentials.UserName.UserName = "Username";
    result.Credentials.UserName.Password = "password";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM