我已经实现了一个自定义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