在没有表单登录的情况下传递用户凭据或在客户端代理中设置凭据?

时间:2011-05-27 14:09:39

标签: wcf

这个问题与this有关,但我仍然不清楚它应该如何运作。 我遇到的问题是,大多数示例都有通过表单登录设置服务的ClientCredentials或通过访问服务的自定义应用程序设置用户名和密码。就我而言,它是一个不同的。这是我的情景:

我有一个WCF服务,它托管在IIS的空网站中。没有默认页面,您唯一可以访问的是WCF服务,所以我的问题是如果我不打算使用某种登录,如何将凭据传递给WCF服务。我想要做的就是拥有如下内容:

<GetColors>
    <Credentials>
        <UserName>test</<UserName>
        <Password>test</Password>
    </Credentials>
<GetColors>

GetColors是要调用的操作,Credentials是访问服务的凭据吗?

我认为这样做的正确方法是:

[OperationContract]
List<Color> GetColors(XDocument request);

如果我想将请求传递给客户端,上述方法是否正确?此外,如果根节点是操作,我是否必须阅读它并调用服务上的操作,或者是否有更好的方法。

1 个答案:

答案 0 :(得分:2)

在这种情况下,整个身份验证由您决定。这是自定义方法,每个操作或一些custom message inspector(这意味着使用原始消息)都必须检查消息,搜索凭据并验证它们。

相关问题