我应该如何使用相同的成员资格提供程序构建serperate登录区域/ Web应用程序?

时间:2014-01-30 01:18:14

标签: asp.net asp.net-membership membership-provider

我目前有一个Web应用程序,我们称之为“WebApp-A”。

WebApp-A实现了AspNetSqlMembershipProvider和AspNetSqlRoleProvider。

我现在想要创建第二个Web应用程序,让我们称之为“SubApp-B”并将其嵌套在WebApp-A中:

Web应用程序-A / SubApp-B

我希望SubApp-B实现相同的AspNetSqlMembershipProvider和AspNetSqlRoleProvider。

我希望在SubApp-B下创建的用户能够登录WebApp-A,但是在WebApp-A下创建的用户无法登录SubApp-B。我还希望能够将WebApp-A中的角色分配给SubApp-B用户。

根据我的理解,我可以使用与多个Web应用程序相同的AspNetSqlMembershipProvider,并使用相应web.config中的applicationName =“”来区分用户。这种方法会满足我的上述要求吗?

我是否应该将SubApp-B嵌套为WebApp-A中的Web应用程序。或者,我应该只使用带角色的WebApp-A来创建可以访问/ SubFolder区域的用户吗?

1 个答案:

答案 0 :(得分:1)

  

我希望在SubApp-B下创建的用户能够登录   WebApp-A,但在WebApp-A下创建的用户无法登录   SubApp-B。我还希望能够从WebApp-A分配角色   到SubApp-B用户。

如果用户是在 SubApp-B 下创建的,则为用户分配一个特殊角色(假设为 SubAppBRole )。

当用户访问 SubApp-B 时,请检查以确保用户位于 SubAppBRole

换句话说,在 WebApp-A 下创建的用户不在 SubAppBRole 中,他们将无法前往 SubApp-B < /强>

  

据我了解,我可以使用相同的AspNetSqlMembershipProvider   使用多个Web应用程序并区分用户   applicationName =“”在相应的web.config中。会这样吗?   方法满足我的上述要求?

没有。您无法在不同的 ApplicaitionName 中设置 WebApp-A SubApp-B 。如果您希望 WebApp-A 用户能够登录 SubApp-B ,则用户需要位于相同的 ApplicaitionName 中。

  

我是否应该将SubApp-B嵌套为内部的Web应用程序   Web应用程序-A。或者我应该只使用带有角色的WebApp-A来创建   可以访问/ SubFolder区域的用户?

你可以嵌套两个ASP.Net站点,虽然我个人不喜欢它。有时,如果您尝试SSO,FormAuthentication domain会出现问题。此外,两个web.config文件中的配置设置可能会相互冲突。但是,一旦你正确配置它,它应该没问题。