【问题标题】:Custom Membership, MVC and WCF. Where to implement it?自定义成员资格、MVC 和 WCF。在哪里实施?
【发布时间】:2012-05-12 06:58:41
【问题描述】:

我有一个复杂的问题,至少对我来说是 :),我会说它更多的是架构而不是编码。

好的,我正在创建一个 MVC 网站。我有一个 wcf 服务,这是我与数据库、业务对象等进行通信的唯一方式。

  • 网站 (MVC)
  • 托管层 (WCF)
  • 服务层(WCF 的接口和实现 - 类库)
  • 业务层(类库)
  • 数据层 (Plinqo - L2S)
  • 框架(类库 - 这里我有我的自定义成员)

换句话说,在我的 mvc 层的 web.config 中,我没有任何连接字符串,只有 Web 服务 mambo jambo。我没有实现默认的成员资格和角色提供者。

我实现了一个自定义成员资格和角色提供者。但是,我在服务层级别使用它(我在 WCF 的 web.config 中声明它)这意味着,从 MVC 我调用我的 web 服务客户端的验证方法(client.ValidateUser(User)),然后当我做我的Membership.ValidateUser(用户名,密码)。

如果您需要知道我这样做的原因,我会添加它。就问我吧。

我的问题...在我的控制器中,当我将角色属性添加到我的方法时,我知道它会失败,因为 mvc 将尝试使用 webconfig 中的任何成员资格和角色提供程序...当然,我没有在mvc级别实现它,而是在wcf。所以它会弹出一个 notImplemented 错误。我没试过,但这是我的胆量。我应该在我的 mvc 中实现它,然后从这个自定义成员资格和角色提供者调用我的 wcf(数据库调用)并将其删除为我当前的成员资格提供者和角色提供者吗?

我知道这一切都很棘手和令人困惑。如果您有任何疑问,请告诉我。

非常感谢。

【问题讨论】:

    标签: wcf asp.net-mvc-3 asp.net-membership roleprovider


    【解决方案1】:

    您必须创建 Authorize 文件管理器的自定义实现并覆盖 OnAuthorization 方法,您必须在其中进行 WCF 调用并完成所有工作。

    http://geekswithblogs.net/brians/archive/2010/07/08/implementing-a-custom-asp.net-mvc-authorization-filter.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多