这个问题与this有关,但我仍然不清楚它应该如何运作。 我遇到的问题是,大多数示例都有通过表单登录设置服务的ClientCredentials或通过访问服务的自定义应用程序设置用户名和密码。就我而言,它是一个不同的。这是我的情景:
我有一个WCF服务,它托管在IIS的空网站中。没有默认页面,您唯一可以访问的是WCF服务,所以我的问题是如果我不打算使用某种登录,如何将凭据传递给WCF服务。我想要做的就是拥有如下内容:
<GetColors>
<Credentials>
<UserName>test</<UserName>
<Password>test</Password>
</Credentials>
<GetColors>
GetColors是要调用的操作,Credentials是访问服务的凭据吗?
我认为这样做的正确方法是:
[OperationContract]
List<Color> GetColors(XDocument request);
如果我想将请求传递给客户端,上述方法是否正确?此外,如果根节点是操作,我是否必须阅读它并调用服务上的操作,或者是否有更好的方法。
答案 0 :(得分:2)
在这种情况下,整个身份验证由您决定。这是自定义方法,每个操作或一些custom message inspector(这意味着使用原始消息)都必须检查消息,搜索凭据并验证它们。