2012-10-11 78 views
0

我開始一個項目,它將有三層:Web前端,移動前端和WCF後端。身份驗證需要通過Active Directory來完成,但Web前端都將使用表單身份驗證來授予/拒絕某些區域的訪問權限,並且所有用戶控件都將通過AD中的組進行處理。這特別適用於WCF方面,我希望能夠利用內置的Permission.Demand()功能。帶有Windows身份驗證和各種客戶端的WCF服務

我對此有兩個問題。首先,有沒有人知道這樣做的最佳實踐例子?特別是關於將憑證(不帶密碼)傳遞給WCF服務,以便它知道它正在訪問的上下文。其次,未來包括創建一個Android應用程序(也可能是iPhone/Windows Phone版本),所以我需要確保所用的方法與這些應用程序交叉平臺。

回答

1

設置PrincipalPermissionMode自定義,編寫一個定製的授權策略(http://msdn.microsoft.com/en-us/library/ms729794.aspx)和評估方法的實現執行以下操作:

 evaluationContext.Properties["Principal"]=HttpContext.Current.User; 

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/8f424d4f-2f47-4f85-a6b0-00f7e58871f1/

+0

我不能完全肯定我明白什麼正在這裏建議,通過這些鏈接閱讀只是讓我比較遺憾的是困惑。 HttpContext.Current.User如何在WCF端設置?這些服務將與IIS中的每個站點分開託管,因此它們不會共享配置條目。我可以做一些與檢查FormsTicket相關的東西(基於「域」屬性 - 類似於在兩個站點之間共享身份驗證並使用相同的加密密鑰),但我不確定這是如何在Android端工作的,因爲它(大概)不會在應用程序內執行HTTP cookie。 – RubyHaus

+0

http://stackoverflow.com/questions/6747263/how-to-access-httpcontext-current-user-username-in-wcf-service http://stackoverflow.com/questions/9650098/passing-httpcontext-current-用戶身份到WCF – Joe

相關問題