2013-01-16 25 views
0

當我使用的tridion 2011核心服務從我的本地編寫自定義頁面,我用我的tridion憑證來訪問核心服務Web服務。快速訪問被拒絕的用戶NT AUTHORITY NETWORK SERVICE.while訪問coreservice外表套上

現在,當一切都在我的地方:)做,我發表了我的網站,壓根兒下面的外表套上CM服務器上的東西。

  • 在IIS我創造了新的aplication網站名稱爲「CoreServices」
  • 使用的應用程序池使用網絡的用戶
  • 複製我在coreservice映射文件夾,發佈網站。
  • 從web配置中刪除我的證書並執行邏輯讀誰在訪問網站/自定義頁面
  • 現在,當我試圖訪問coreservice網站用戶的詳細信息,我得到以下錯誤

    用戶NT AUTHORITY \ NETWORK SERVICE拒絕訪問。 描述:在當前web請求的執行過程中發生了未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

    異常詳細信息: System.ServiceModel.FaultException`1 [[Tridion.ContentManager.CoreService.Client.CoreServiceFault,Tridion.ContentManager.CoreService.Client,版本= 6.1.0.996文化=中性公鑰= ddfc895746e5ee6b] ]:用戶NT AUTHORITY \ NETWORK SERVICE的訪問被拒絕。

請建議!!

編輯:我可以看到NT AUTHORITY \ NETWORK SERVICE都已經添加到我的外表套上MMC,請在下面的截圖:

enter image description here

回答

1

試試這個,如果你的作品,我沒試過所以不知道它會成功

var remoteAddress = new EndpointAddress(Settings.EndpointAddress); 
ProxyClient = new CoreServiceClient(basicHttpBinding, remoteAddress); 
ProxyClient.ClientCredentials.Windows.AllowNtlm = true; 
ProxyClient.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials; 
ProxyClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; 
1

這是在這裏找到答案:

Tridion CoreService Authentication/Impersonation

請確認這是否回答你的問題,並考慮關閉這個如果不需要。

感謝

約翰

+0

我已經檢查這個環節,不解決我的問題,我需要給一些更多的權限給我的IIS應用程序或一些代碼處理。 –

2

此消息表明,核心服務是由您的代碼和您的網絡憑據成功識別被調用成功,但外表套上未授權訪問。這裏有兩種可能的情況:

  1. 您希望Tridion使用NETWORK SERVICE身份作爲受託者在其下行事。在這種情況下,網絡服務將作爲用戶添加。這將是一種不尋常的配置,因爲您通常希望NETWORK SERVICE成爲其他用途的模擬用戶。
  2. 你希望連接到外表套上了網絡服務,但隨後有外表套上充當受託人不同。在這種情況下,網絡服務應該被配置爲管理單元中,你必須在約翰掛(Tridion CoreService Authentication/Impersonation

這兩種方法的第二個問題描述調用模擬方法的模擬用戶幾乎肯定是你想要的。我只是通過解釋來描述第一個。

+0

感謝Dominic,因此,如果我想要用戶從他的機器訪問自定義頁面,那麼應該在tridion歷史記錄中添加他的詳細信息,如果他對組件或頁面進行了某些修改 –

+0

然後您需要模擬方法。 –

+0

我已添加屏幕快照將顯示模擬的NT AUTHORITY \ NETWORK SERVICE條目,我還能檢查其他什麼東西 –