问题描述
|
这个问题与此有关,但是我仍然不清楚它应该如何工作。
我的问题是,大多数示例都具有通过表单登录设置服务的ClientCredentials或通过访问服务的自定义应用程序设置用户名和密码的问题。就我而言,情况有所不同。这是我的情况:
我有一个WCF服务,该服务托管在IIS中的空网站中。没有默认页面,您唯一可以访问的是WCF服务,所以我的问题是,如果我不打算使用某种登录方式,该如何将凭据传递给WCF服务。我要这样做的方法是拥有以下内容:
<GetColors>
<Credentials>
<UserName>test</<UserName>
<Password>test</Password>
</Credentials>
<GetColors>
GetColors是要调用的操作,凭据是访问服务的凭据?
我认为这样做的正确方法是:
[OperationContract]
List<Color> GetColors(XDocument request);
如果我想将请求传递给客户端,以上是执行此操作的正确方法吗?另外,如果根节点是操作,那么我是否只需要阅读该内容并在服务上调用该操作,还是有更好的方法。
解决方法
在这种情况下,整个身份验证取决于您。这是自定义方法,每个操作或某些自定义消息检查器(即使用原始消息)都必须检查消息,搜索凭据并对其进行验证。