The wsHttp binding of WCF service uses windows authentication, so using the service outside the domain is not a straight forward method.
Well, I had the WCF services created and deployed on my app server when I tried accessing it from other domain, it started throwing security exception, that's when I came to know the actual problem. The client credentials were not set when accessing it from the outside.
The easy way I found and implemented by keeping a service account which is a domain user. I have kept that user details in my configuration which is encrypted on client side and used as below
AdminService.AdminServiceClient objSvc = new AdminService.AdminServiceClient();
objSvc.Endpoint.Address = new System.ServiceModel.EndpointAddress(endpointaddress);
objSvc.ClientCredentials.Windows.ClientCredential.UserName = username;
objSvc.ClientCredentials.Windows.ClientCredential.Password = password;
objSvc.ClientCredentials.Windows.ClientCredential.Domain = domain;
While creating the wcf service client, assign username, password and domain which belongs to domain. After updating the clientccredentials, the client started working fine.
Sunday, October 11, 2009
Subscribe to:
Posts (Atom)