集成多个ASP.Net网站

集成多个ASP.Net网站,asp.net,asp.net-membership,membership-provider,Asp.net,Asp.net Membership,Membership Provider,我想创建一个新网站。该网站有3个应用程序,每个应用程序都有自己的会员/个人资料提供商。 我希望用户只需一次登录即可登录到该站点。 可能的选择AFAIK: 在web.config文件中为所有应用程序定义相同的机器键/连接字符串,我想我已经准备好了 这行吗?我很想知道还有没有别的办法。是的,这就是要走的路。只要确保配置设置完全相同,三个应用程序就可以正常工作 另一方面:你说你想建立一个有3个应用程序的新网站。这些“应用”是独立的站点还是顶级站点的虚拟目录?换句话说,他们会共享同一个URL吗 我能

我想创建一个新网站。该网站有3个应用程序,每个应用程序都有自己的会员/个人资料提供商。
我希望用户只需一次登录即可登录到该站点。
可能的选择AFAIK:

  • web.config
    文件中为所有应用程序定义相同的机器键/连接字符串,我想我已经准备好了

这行吗?我很想知道还有没有别的办法。

是的,这就是要走的路。只要确保配置设置完全相同,三个应用程序就可以正常工作

另一方面:你说你想建立一个有3个应用程序的新网站。这些“应用”是独立的站点还是顶级站点的虚拟目录?换句话说,他们会共享同一个URL吗


我能想到的唯一问题是,如果URL不同,那么会话id也会不同,因此会强制用户在访问时登录到每个URL。这在你的情况下可能没问题。使用您的方法,凭据将是相同的。

@Chris:它们是虚拟目录(IIS 7中的应用程序)。你能更清楚地说“一起工作很好”吗?它们如何相互干扰?一件重要的事情:当用户在一个应用程序中注册时,我是否应该为每个应用程序程序创建一个用户?或者当我使用相同的机器密钥时,它会自动处理吗?@Kamyar:如果您的密钥不匹配,那么一个站点将无法正确加密密码以进行验证。因为你说你要确保所有这些都是同步的,那就没事了。@Kamyar:除非要求这些表是分开的,否则它们肯定可以共享相同的成员表。成员资格系统有一个名为aspnet_Applications的表,该表定义了可以访问成员资格数据的所有应用程序。角色与特定的应用程序相关联,因此即使角色具有相同的名称,它们也可以存在于相同的成员数据库中。@Kamyar:如果要求它们分开,那么您就没有单一的登录过程。相反,您必须编写一些代码来手动保持所有用户帐户的同步。