0

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

好的,我正在创建一个 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(数据库调用)并将其删除我当前的成员资格提供者和角色提供者吗?

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

太感谢了。

4

1 回答 1

0

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

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

于 2012-05-12T07:11:28.710 回答