一个应用程序的多个Membershipprovider

时间:2009-10-08 12:21:16

标签: asp.net-mvc membership-provider

我有一个使用SqlMembershiprovider的网站。它是一个网上商店。用户使用他的用户名和密码登录。

除此之外,还有一个控制器负责显示从另一个系统导入的订单的交货详情。这些订单与成员资格系统中的用户没有任何关联。要显示交货详细信息,您必须提供订单号和打印在发票上的令牌。

为了允许访问,我想实现一个仅用于此单个控制器的自定义成员资格提供程序。在一个应用程序中使用2个不同的提供程序是否可行?

修改

用户可以在提供订单号和令牌后访问几页。

2 个答案:

答案 0 :(得分:1)

我认为您不需要单独的会员提供商。只需将该操作和相关操作公开(不要使用AuthorizeAttribute进行修饰)。然后要求提供的订单号和发票代币有效。也就是说,如果您拥有订单号及其相关令牌,那么您将显示交货详细信息。您可以通过验证它们与其他系统提供的数据匹配来检查这一点。

[AcceptVerbs( HttpVerbs.Post )]
public ActionResult DeliveryDetails( string orderNumber, string invoiceToken )
{
      var order = otherDb.Orders
                         .Where( o => o.OrderNumber == orderNUmber
                                      && o.InvoiceToken == invoiceToken )
                         .SingleOrDefault();

      if (order == null)
      {
          return View("Error");
      }

      return View(order);
}

答案 1 :(得分:0)