区域中具有不同ApplicationName的成员资格提供程序

时间:2012-10-25 10:37:51

标签: asp.net-mvc web-config asp.net-membership

我的MVC3应用程序中有web.config,我的MVC3应用程序中也有Admin区域。

在前端,我将asp.net用户挂钩到Customers表,我的应用程序依赖此表进行操作。在Admin区域,我有Administrator RoleUser,但此登录信息也适用于前端。我可以为Admin创建一个客户,这样我的应用程序就不会失败,但理想情况下我想将登录名从前面和Admin区域分开。

我想在web.config区域内放置第二个Admin,该区域具有不同的应用程序名称,以便管理员帐户永远不会登录到前端。 e.g。

    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="SecurityConn" applicationName="/" />
      </providers>
    </profile>

但我不知道放在哪里或者是否可能

applicationName="/AdminArea"

1 个答案:

答案 0 :(得分:4)

您可以在具有不同应用程序名称的部分中添加多个提供程序。

您需要考虑的是如何在这些提供商之间切换。 您可以使用提供者集合,例如

Membership.Providers["MyOtherProvider"].ValidateUser(username, pwd);

因此,您需要一种机制来了解登录的用户(管理员或客户)。