2009-12-09 23 views
1

這與其他用戶詢問的question幾乎完全相同,並且是我之前詢問的question的續作。如何運行需要.NET Web服務的AD認證的命令行進程?

基本上,我公司最近買了Tidal Scheduler。我們需要通過其他流程臨時啓動工作,例如:BizTalk,.NET Web應用程序等。我們的計劃是圍繞C++ API打包.NET Web服務。這顯然已經消失了version.next,所以我們試圖在他們的命令行界面中包裝一個.net Web服務。

客戶端需要Active Directory身份驗證。使用下面的幾乎所有方法進行模擬,我們都無法從我們的.net Web服務成功調用CLI。從我在上面鏈接的問題中讀到的內容中,我們試圖模仿比ASPNET帳戶更多權限的用戶,這會導致安全漏洞。

有沒有更好的方法來做到這一點?有沒有辦法讓它與我們已經走過的道路一起工作?任何幫助表示讚賞,我們沉迷於此的很多時間。

附註:我們確實使用PsExec來做到這一點,但在這一點上它是一個非常大的黑客行爲(這是一個足夠大的黑客行爲,因爲它是),我們非常希望不要在我們的環境。

+0

+1很好的問題 – BigOmega

回答

3

一種可能的方法是在具有需要模擬的用戶憑據的應用程序池中運行Web服務。 (這是假設身份驗證是嘗試操作和失敗的結果,因爲運行當前Web服務的帳戶...如果它需要身份驗證,即使以用戶模擬身份運行,您也不幸運。)

模擬用戶將需要成爲運行Web服務的框上的IIS_WPG組的成員。它可能還需要一些本地權限。只要確保用戶在模擬盒子上扮演非常有限的權限即可。

+0

你先生,是我的英雄。在各種各樣的冒充模仿之後,這個簡單的變化修復了一切。我謝謝你。 – IronicMuffin

+0

啊,我很高興它爲你工作。我之前使用過這種方法進行SSPI數據庫連接,並且您的問題看起來很相似。 – Nathan

1

也許你需要的是一個有你的憑據的Windows服務。然後,您的Web服務可以調用您的WIndows服務來執行您想要執行的任何操作。 Windows服務是Visual Studio中的項目模板,MSDN上的文檔非常簡單。

相關問題