0

我想为与 ASP.NET WCF(和 SOAP)Web 服务通信的 Windows 窗体或 WPF 应用程序实现 ASP.NET 窗体身份验证和授权过程。

使用 Fiddler,我研究了 Silverlight 在登录/注销过程中如何与其 WCF RIA 服务 Web 服务通信,据我所知,这种通信只是一组 POST 和 GET HTTP 调用。

据我了解,实际的身份验证和授权通过 ASP.NET 成员资格和角色提供程序发生在 WCF 服务端 - 我知道如何通过代码处理这个问题。

我不确定的是什么可能是最高级别的 System.Net 类集及其在 WinForms/WPF 应用程序和 ASP.NET WCF 之间实现 ASP.NET 表单身份验证和授权的方法(/和如果可能的话还有 SOAP)Web 服务,在登录后通信会话保持活动状态,ASP.NET 服务/应用程序 cookie 对我来说尽可能透明地在这里和那里传输(IOW 没有太多低级 C#/.NET 框架编程)。System.Net.WebClient 是否足以完成我的任务?你知道任何可以使用的简单开源 C# 解决方案吗?

4

1 回答 1

2

几年前我在博客上写过

http://www.wiktorzychla.com/2010/04/aspnet-forms-authentication-sharing-for.html

http://www.wiktorzychla.com/2008/02/clickonce-webservice-and-shared-forms.html

这个想法是共享表单身份验证 cookie,以便 wcf 服务也受到它的保护。通过这种方式,您甚至可以在浏览器中运行应用程序(clickonce)或实现自定义登录表单,只需将用户名/密码发送到服务器并获取 cookie,然后使用它。

从技术上讲,要让 wcf 服务由表单 cookie 保护,您需要处理几个关键元素,所有这些都在我的博客条目中进行了描述。

于 2015-09-04T15:12:55.227 回答