gpt4 book ai didi

wcf - 如何对 WCF 4 RESTful 服务进行身份验证?

转载 作者:行者123 更新时间:2023-12-03 19:05:59 25 4
gpt4 key购买 nike

我目前正在设计和开发将由移动设备使用的 WCF 4 RESTful 服务。我特别选择了 REST,因为它被认为是轻量级的,而且 JSON 输出使移动客户端的解析变得简单。

该服务负责整个应用程序的移动设备部分。但是,它要求用户在使用该服务之前先登录。基本的 HTTP 身份验证不是一种选择:它不安全,中间人攻击很容易拦截用户帐户。 SSL 在这里是一个选项,但我不知道 SSL 在 WCF RESTful 服务上的工作有多容易,以及它在移动设备上的实现有多简单。

我研究过摘要式身份验证,但我真的找不到任何关于如何实现它的有用信息。这也带来了:我如何允许用户使用这个将设备添加到他们的帐户?将用户名/密码组合与其他信息一起散列到摘要 header 中?

有人可以阐明这一点吗?因为我很困惑。网上有很多关于如何实现 WCF (RESTful) 服务的信息,但是当您需要保护它时,信息量会显着下降……欢迎发表文章。

最佳答案

在 WCF 中利用 SSL 非常简单,目前每个移动平台都应该支持它。您绝对应该使用 SSL 进行基本身份验证,以使您的生活尽可能简单恕我直言。

要在 WCF 服务上启用 HTTPS,您需要做的就是:

<webHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
</webHttpBinding>

这会说“只允许通过安全传输访问此服务并期望传递基本的身份验证凭据”。

现在,唯一的问题是,您在哪里托管 WCF 服务?如果在 IIS 中托管,您只需使用它配置服务证书即可。

另一种选择是使用 F5 设备或类似设备预先执行 SSL。然后你必须做更多的工作,因为默认情况下,WCF 不会让你通过非安全传输传递凭据。然后您需要自定义您自己的绑定(bind)并在 TransportSecurityBindingElement 上设置 AllowInsecureTransport = true。这基本上会向 WCF 说“相信我,我做的是正确的事”,并允许服务正确初始化,即使凭据将流经非安全绑定(bind)也是如此。

关于wcf - 如何对 WCF 4 RESTful 服务进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com