2011-10-26 41 views
0

我使用的NetworkCredential構造函數的形式如下設置明確憑據調用所需的特定身份web服務之前:如何設置明確的NetworkCredential用於驗證的工作組計算機,而不是域

myWebService.Credentials = new System.Net.NetworkCredential(userName, password, domain); 

這有在我們的IIS 6.0開發和IIS 7.5臨時環境中,各種服務器都是我們域的一部分,一直工作得很好。

現在,此代碼已部署到生產環境,其中服務器不屬於域的一部分,但只是WORKGROUP的成員,並且正確的身份驗證不起作用。在運行時,這種有效的替代失敗:

myWebService.Credentials = new System.Net.NetworkCredential("localuserName", "XyZ!XyZ", "myServerName"); 

我沒有這些不同的工作組機器和系統管理員誰配置的事情似乎已經正確設置了本地帳戶和應用程序池的完全訪問權限。

因此,總之,可以使用上述技術繼續在WORKGROUP中工作,只需使用服務器的名稱而不是域名?如果代碼在任何情況下都能正常工作,那麼必須有其他一些配置問題,我必須追查更多關於該問題的信息。

+0

如果你的東西我的文章很有用,請將它標記爲答案:) – saeed

回答

0
i'm using iis 7 and there is no problem with following: 


1. find the ip address of machine which is running IIS and 
find webservice bindings the bindings in IIS is like the following http://192.368.228.1:8051/ 

2. set domain like this : http://servername:port/ or http://machine-ip:port/ 
also you can set webservice url like the following 

     myWebService.Url ="http://192.368.228.1:8051/service1.asmx"; 
     myWebService.Credentials = new System.Net.NetworkCredential("user", "pass"); 

no domain is used in this way. 

有關此主題的更多信息有以下鏈接 本節的樣子:傳遞憑據進行身份驗證與Web服務

http://msdn.microsoft.com/en-us/library/ff649362.aspx#secnetch10_usingclientcertificates

希望這會有所幫助。

相關問題