我已經實現了一個自定義ASP.net成員資格提供程序來處理表單身份驗證。自定義提供程序使用自定義用戶對象進行身份驗證和授權。我想知道如果我可以將此對象傳遞給每個WCF調用而不將其添加到參數列表中?將自定義用戶對象傳遞給WCF
0
A
回答
1
既然你已經在使用的MembershipProvider可以utalize上WCF以及因此兩個由同一機構固定。
請在msdn上查看post。
Windows通訊基礎(WCF) 開發人員可以利用這些功能 出於安全目的。當 集成到WCF應用程序,用戶 必須提供用戶名/密碼 組合WCF客戶端應用程序 。將數據傳輸到 WCF服務,使用綁定 支持用戶名/密碼 憑證,如WsHttpBinding的 (在配置中,所述的wsHttpBinding 元),並設置所述客戶端憑證 類型用戶名。在服務,WCF 安全認證基於 上的用戶名和密碼,並 還分配由 ASP.NET角色指定的角色。
另一種選擇是創建一個自定義IAuthorizationPolicy
是通過
OperationContext.Current.IncomingMessageHeaders.GetHeader<T>
拉了你的用戶而不是設置您的主要如下所示:
evaluationContext.Properties[Constants.EvaluationContextPrincipal] = principal;
下面是一些更多的信息創建自定義IAuthroizationPolicy。使用這種方法,您可以在不將用戶傳遞給方法的情況下實現自己想要的功能。
只是被警告如果你走這條路,一個狡猾的人可能最終冒充用戶,只需在你的頭部提供一個假用戶。
對於wcf使用asp.net成員資格提供程序很可能會讓您真正瞭解您以後再加上一些安全性。
0
您絕對不應該將此參數添加到每個方法的參數中。
我不知道您的自定義用戶對象,但至於WS *和最安全的標準而言,用戶對象將用戶名和密碼。
答案取決於您使用的綁定。 BasicHttpBinding
或BasicHttpContextBinding
可以使用HTTP身份驗證方案,而WsHttpBinding
可以使用自定義消息安全性,您可以提供用戶名和密碼。
BasicHttpContextBinding
是特別好,因爲它可以與ASP NET會議的工作。
相關問題
- 1. 將自定義對象傳遞給Arrays.asList
- 2. 將自定義對象傳遞給Windows Workflow WCF服務
- 3. 將自定義對象從WCF服務傳遞到客戶端
- 4. 將用戶定義的java對象傳遞給速度scriptengine
- 5. 將NetworkCredentials對象傳遞給WCF服務
- 6. 將自變量傳遞給自定義對象的新.xib
- 7. WCF RIA Services - 將自定義對象作爲參數傳遞給查詢方法
- 8. 如何將對象從fetchedResultsController傳遞給自定義單元格?
- 9. 將對象傳遞給自定義選舉器?
- 10. 將ngModel中的對象傳遞給自定義控件Angular2
- 11. 將自定義函數傳遞給jQuery對象
- 12. 將自定義對象的列表傳遞給模態彈出
- 13. 將自定義對象傳遞給另一個活動android
- 14. 將自定義對象數組傳遞給函數
- 15. 將自定義對象從Android通過KSOAP傳遞給webservice
- 16. 將自定義對象從servlet傳遞給Jquery
- 17. 如何將自定義對象數組傳遞給ASMX webservice?
- 18. 什麼對象將被傳遞給Mockito中的自定義ArgumentMatcher
- 19. 將自定義對象的ArrayList傳遞給kSOAP函數
- 20. 如何將客戶端對象傳遞給WCF服務
- 21. 如何將自定義類傳遞給WCF服務?
- 22. .NET:將自我傳遞給子對象
- 23. 將.Net 1.1客戶端的自定義標頭傳遞給WCF服務
- 24. iOS:將自定義NSURL傳遞給NSURLProtocol
- 25. 將自定義類傳遞給片段
- 26. 將自定義php.ini傳遞給phpunit
- 27. 將參數傳遞給自定義URI
- 28. 將自定義參數傳遞給FancyBox
- 29. 將自定義值傳遞給Reducer
- 30. 將自定義參數傳遞給ValidationAttribute
感謝馬克的回覆。我已閱讀MSDN文章,並在WCF應用程序中使用我的成員資格提供程序。我可以訪問所有Membership類的方法,如Membership.CreateUser()。但是,我可以檢索登錄的用戶。我是否需要任何特定語法來執行此操作? – 2011-03-25 12:45:38
@Nima M,自從我使用這個以來,已經有一段時間了,我相信*在用戶通過wcf服務進行身份驗證之後,您應該可以通過ServiceSecurityContext獲取當前用戶。 – 2011-03-25 12:56:54
我已經試過,它是空:( – 2011-03-25 14:08:47