3

目前有一个我计划转换为 Azure 的 ASP.NET Web 应用程序。每个客户一个应用程序,具有一个 SQL 数据库和成员服务,用于身份验证和授权。拥有用户管理员角色和客户可以管理自己的用户 ID 和密码的页面。

在升级到 Azure 时,我计划同时提供 Web 客户端和 WPF 客户端。WPF 客户端将通过 WCF 连接到 Web 服务。

什么是合适的安全模型?

不确定 ACS 是否是正确的工具。应用程序必须直接提供带有角色的用户 ID 和密码身份验证并管理该数据。客户管理员角色必须能够重置密码,因此外部身份提供者不适合。在 ASP.NET 级别的会员服务正是我所需要的。我想通过 WCF 将该模型扩展到 WPF 客户端。

客户非常健谈。今天有一个 WPF 客户端版本,它直接连接到 SQL 以供有限数量的“受信任”大批量客户使用。需要摆脱这种模式并进入大容量服务模式。

为如何跨 ASP.NET 和 WPF/WCF 进行通用身份验证和授权而苦苦挣扎。我认为 WPF 到 WCF 的通道级别身份验证是正确的方法,因此我不会对每个方法调用进行身份验证。

看起来WCF 身份验证服务是一个工具来做我正在寻找的东西。我没有在 Azure 中找到这样做的具体示例。我怀疑该功能在 Azure 中,但术语可能略有不同。 部署 希望这就是说 - 它部署在 Azure 上。

在我得到你试过的东西之前,你可以免费试用。需要获得许可才能评估新技术。我可能要做的是在家中打开 Azure 试用版。

我要尝试的是 Azure Membership 使用 TableStorage 作为提供。然后将 WCF Web 服务与 WS 和 userName 凭据一起使用。会回来汇报的。

4

1 回答 1

2

关于 WPF,您只有一种选择来使用 Web 界面,因为 Azure 不支持 WPF。有关这方面的更多信息,请参见此处

您的 Web 应用程序将完全是 ASP.NET(如果您决定选择 MVC),因此您选择的任何安全模型都可以在 Windows Azure 上运行。Windows Azure 没有规定或强制任何人选择 ASP.NET 安全模式。作为应用程序开发人员,您做出此决定。

ACS 只是一项服务,为使用它的应用程序提供访问和身份验证服务,因此它没有内置提供程序,即使有,它与任何基于 OpenID 的身份验证服务有何不同?

您当然可以使用会员提供商或自己建立取决于您的选择。

取决于您在这里谈论的证书类型,有几个地方由于各种原因需要证书。在某些地方,它不是“选项”而是“必需品”,因此除非有关于您所指的证书类型的具体描述,否则没有什么可以共享的。

关于您问题的最后一行,您肯定可以使用 PKI 或基于凭据的方法保护基于 WCF 的通信,但是正如我之前所说的,Azure 不支持 WPF,因此可能与上下文无关。是的,您确实可以使用成员资格提供程序来保护 WCF 和 ASP.NET 应用程序之间的通信。

最后,我不确定我是否理解您在第 1 行中描述的设计。您在一个问题中也问了很多 :)

于 2012-05-31T20:34:27.567 回答