ASP.NET服务器身份验证

时间:2012-06-23 22:42:08

标签: asp.net wcf membership-provider

目标:

我想创建一个允许我连接到它的Web服务(通过ASP.NET Web应用程序),然后像成员资格提供者/角色提供者那样对用户进行身份验证。

我不想通过在ASP.NET Web应用程序的Web.config中配置来使用成员资格/角色提供程序。相反,我想要的是使用某种配置将我的Asp.net Web应用程序指向Web服务(我想要创建的那个),而不是对用户进行身份验证。

预期解决方案:

我在谷歌研究后发现,解决方案可能是:WCF身份验证服务。但我无法让它发挥作用。我创建了这项服务,完成了本文所述的所有配置:

http://msdn.microsoft.com/en-us/library/bb398990.aspx

但我不确定,我现在如何配置我的Asp.Net Web应用程序,将此服务用作成员资格/角色提供程序。

我可能走向完全错误的方向,这项服务可能不是解决我的问题的方法。你能帮帮我吗?

谢谢, 你的开发兄弟...... :)

1 个答案:

答案 0 :(得分:2)

你正朝着正确的方向前进。

ClientFormsAuthenticationMembershipProvider是您正在寻找的会员提供商。

下面是使用它的示例web.config配置:

<appSettings>
  <add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>

<system.web>
  <compilation debug="true" targetFramework="4.0" />

  <membership defaultProvider="ClientAuthenticationMembershipProvider">
    <providers>
      <clear/>
      <add name="ClientAuthenticationMembershipProvider"
    type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    serviceUri="http://localhost:49712/Authentication_JSON_AppService.axd" />
    </providers>
  </membership>
</system.web>

配置可能很棘手。我花了几个小时才发现应该添加ClientSettingsProvider.ServiceUri。

您可以将临时WinForms或WPF项目添加到您的解决方案中以构建配置。这些类型的项目具有特殊选项卡 - 项目设置中的“服务”选项卡,用于配置GUI。下面的示例适用于.NET 3.5,但4.0的想法是相同的。

http://www.codeproject.com/Articles/27670/Implementing-Application-Security-with-Client-Appl