gpt4 book ai didi

c# - 将 token /cookie 传递给 WCF 服务的最佳策略?

转载 作者:太空狗 更新时间:2023-10-29 23:33:48 28 4
gpt4 key购买 nike

我们正在 .net 4.0 上使用 WCF 构建 Web 服务。该服务将主要由 ASP.net MVC 前端使用,但也将由 .net Windows 应用程序使用。

提供的基本用户名/密码身份验证不会执行,因为我们不想保存用户凭据,所以我正在考虑使用 RNGCryptoServiceProvider 进行一次身份验证并创建一个简单的 token (或者我应该称之为 cookie?)。 GetBytes(),然后使用它来验证进一步的请求。

我研究了使用 WCF 实现安全性的各种常用方法,它们大多看起来过于复杂,尤其是当我们想要做的只是将 cookie 传递给每个方法调用时。

将此 cookie 从 WCF 客户端传递到我们的 WCF 服务的最佳策略是什么?首选方法应尽可能与 WCF 的安全架构紧密耦合。

到目前为止,我倾向于使用 custom HTTP headers , 或 custom authorization但我不确定哪种方法更合适(如果有的话)。

请记住,对于 ASP 网站,将为每个请求创建一个新 channel ,而它将在 Windows 应用程序上重复使用。

最佳答案

IMO 有两种方法可以实现 wcf 安全性,Transport 或 Messsage。

您可以在您的应用程序中实现用户名类型的身份验证。所以客户端必须填写用户名和密码才能发送消息。所以客户端的绑定(bind)看起来像

<security mode="TransportWithMessageCredential"> 
<message clientCredentialType="UserName"/>
</security>

在服务器端,您可以实现自己的密码验证器,如 example 所示。

这样做会在服务器上验证您的消息,您可以实现任何您想要的密码验证逻辑。使用它,您的消息将使用 ssl 加密,并使用您自己在服务端实现的逻辑进行身份验证。

关于c# - 将 token /cookie 传递给 WCF 服务的最佳策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228056/

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