[英]WCF. Set user credentials
對不起,我的英語不好。
我有wcf services項目和asp.net mvc項目,我正在使用ninject wcf客戶端擴展來注入服務,例如本示例
Bind<IService>().ToServiceChannel();
現在,我需要為wcf服務添加身份驗證和授權。 我已經實現了UserNamePasswordValidator
和IAuthorizationPolicy
。
在所有示例中,使用的服務參考和用戶憑據均添加如下:
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.