ASP.NET成员资格提供程序与MVC3站点和WCF服务结合使用

时间:2012-10-02 10:59:40

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

我们有以下项目/代码结构:

  • ProjectA是一个MVC3项目,它使用Forms身份验证和ASP.NET成员资格提供程序对用户进行身份验证。它目前仅使用成员资格和角色配置,而不是配置文件。它有相关的web.config部分来配置这个
  • ProjectB是一种WCF服务,它使用相同的身份验证机制,并通过执行以下操作来实现
    • 与ProjectA相同的loginUrl属性
    • 在两个项目中,forms标签的name属性设置为“.ASPXFORMSAUTH”
    • system.web下的machineKey元素在两个项目中都设置为相同的值
    • 注意:ProjectB的web.config不包含ASP.NET成员资格配置元素。

当ProjectA中的代码调用ProjectB中的WCF时,它会在调用的标头上传递cookie详细信息,以便可以正确地验证WCF服务。 (正如我最初编写代码时在我之前的问题中详细描述的那样 - MVC3 Application using Forms Authentication consuming WCF in other solutions)。

如上所述,这种方法在内部开发和测试服务器上运行良好。

但是,在客户端安装(在相同的服务器设置 - 带有IIS 7.5的Server 2008)上,它只适用于我们必须将ASP.NET成员资格配置元素添加到ProjectB的web.config中(WCF服务) 。如果我们不这样做,那么ProjectB将从machine.config中获取默认(示例)ASP.NET成员资格配置元素,然后抱怨一个不存在的连接字符串(因为它们只是那里的样本)。 machine.configs在我们的开发和测试服务器内部具有相同的条目,但是没有看到相同的问题。

有没有人见过这个,知道我们如何阻止ProjectB在machine.config中找到条目?

由于

0 个答案:

没有答案