ASP.NET ApplicationId
问题描述:
我读过的地方ApplicationID是一个网站(IIS站点路径)的唯一ID。但我仍然困惑。ASP.NET ApplicationId
- 何时以及为什么我需要这个?
- 我想实现一个网站的asp.net会员资格,我会创建一些额外的SQL表(如公司,服务等),而不是asp.net会员表。所以;是否需要在这些自定义表中包含ApplicationID列?为什么?
答
应用程序标识存储在成员资格数据库的aspnet_Applications表中。当您第一次启用ASP Memebership提供程序时,您在web.config中设置的应用程序名称将被输入到此表中。从此,成员资格提供程序会使用您的应用程序名称来确定哪些用户可以在您的应用程序中登录进行用户身份验
要回答你的第二个问题,不,除非你有独特的需要/要求这样做。原因:设置了asp.net成员资格,以便您可以使用一个成员资格数据库托管多个可能不同的应用程序。这很好,因为您不必为每个站点创建一个不同的数据库进行身份验证。除非您将多个/不同的应用程序打到您提到的其他表中,否则您不必担心为用户分配appID,因为您的用户已经登录。
感谢您的回答,但我仍然有一些的问题。当你说“你可以使用一个会员数据库托管多个可能不同的应用程序”时,你的意思是什么。 www.stackoverflow.com和www.superuser.com可以使用相同的会员资格数据库?谢谢。 – 2010-12-07 01:34:41
绝对。由于AppID可以设置为对每个应用程序都是唯一的,因此您可以使用[email protected] APPID - SiteA和[email protected] APPID - SiteB,但没有用户名已经出错。 – Tommy 2010-12-07 15:29:49
如果您需要共享这两个站点之间的登录信息,您可以a)使APPID相同或b)自定义成员资格提供程序,以便能够将来自一个APPID内用户的信息复制到另一个APPID,尽管我会提醒此方法为它可能会打开一些安全漏洞。 – Tommy 2010-12-07 15:31:12