【问题标题】:Authenticate a ASP.Net Webpage against a WCF Membership Service针对 WCF 成员服务对 ASP.Net 网页进行身份验证
【发布时间】:2011-11-24 13:47:06
【问题描述】:

我有一个用 ASP.Net 和另一组工具(如 WPF、Windows 窗体应用程序)制作的网页。 ASP.Net 网页和所有应用程序集必须针对同一个 ASP.Net 成员资格提供程序数据库进行身份验证。

我想知道的是使用 WCF 服务进行身份验证的最佳方式,该服务使用 ASP.NET 成员资格提供程序进行身份验证。是否有任何现成的东西可以针对 WCF 身份验证服务对 ASP.NET 网页进行身份验证?我必须实现自定义提供程序吗?因为 ASP.NET 网页中的 Membership 用用户信息填充 IPrinciple User 属性,我希望 WCF 服务身份验证具有相同的行为。

【问题讨论】:

    标签: asp.net wcf asp.net-membership wcf-security


    【解决方案1】:

    我以前就是这样做的。它工作得很好。我的小组犯了一个错误,使 wcf 服务与会员提供者的接口相匹配,这是不必要的和混乱的。如果您选择走这条路,我建议您根据需要自行制定服务合同,并实施您的提供商来使用它。

    如果我再次这样做,我根本不会使用 wcf,而只是使用一个成员提供程序(现有的或自定义的,取决于您的需要)用于直接对话的 asp.net 应用程序数据库而不是 wcf 层,并且有一个共享程序集,其他工具可以使用它直接与数据库对话。甚至在 wcf 服务层中有通用代码。我认为使用服务并不能真正提供仅使用通用程序集无法提供的全部功能。无论如何,asp.net 会员提供程序将是独立的。

    这是假设您处于一个可以让桌面工具连接到数据库的环境中。如果这是一个 Internet 部署的场景,您可能确实需要通过某种服务来执行此操作,而 wcf 是一个很好的候选者。但是,使用现有的成员资格提供程序并在随之而来的数据库之上构建您的 wcf 服务可能比构建使用 wcf 服务的成员资格提供程序更短。我不认为做后者是一个糟糕的选择,但你可能会用前者更好。当然,这取决于很多因素。

    【讨论】:

    • 感谢您的意见。我正在寻求改变想法。我同意你所有的观点。但对我来说,您为 ASP.NET 应用程序使用 WCF 服务进行身份验证做了一个自定义提供程序就足够了。这个问题更多的是产生一个POC而不是一个要求:)。
    猜你喜欢
    • 2011-05-01
    • 2010-10-04
    • 2011-08-29
    • 1970-01-01
    • 2011-06-10
    • 2016-02-11
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多