【问题标题】:ASP.NET ApplicationIdASP.NET 应用程序 ID
【发布时间】:2010-07-21 23:03:20
【问题描述】:

我在某处读到 ApplicationID 是网站的唯一 ID(IIS 站点路径)。但我还是一头雾水。

  • 我何时以及为什么需要这个?
  • 我正在尝试为网站实现 asp.net 成员资格,我将创建一些额外的 SQL 表(例如公司、服务等),而不是 asp.net 成员资格表。所以;我需要在这些自定义表中包含一个 ApplicationID 列吗?为什么?

【问题讨论】:

    标签: asp.net sql membership


    【解决方案1】:

    应用程序 ID 存储在您的会员数据库的 aspnet_Applications 表中。当您第一次启用 ASP Memebership 提供程序时,您在 web.config 中设置的应用程序名称将输入到此表中。从那时起,成员资格提供者将使用您的应用程序名称来确定哪些用户可以登录以在您的应用程序中进行用户身份验证。

    回答您的第二个问题,不,除非您有独特的需要/要求这样做。原因:设置了 asp.net 成员资格,以便您可以使用一个成员资格数据库托管多个可能不同的应用程序。这很好,因为您不必为每个站点创建不同的数据库以进行身份​​验证。除非您将有多个/不同的应用程序访问您提到的这些其他表,否则您无需担心将 appID 分配给它们,因为您的用户已经登录。

    【讨论】:

    • 感谢您的回答,但我仍有一些问题。当您说“您可以使用一个成员数据库托管多个可能不同的应用程序”时,您的意思是类似的。 www.stackoverflow.com 和 www.superuser.com 可以使用相同的会员数据库吗?谢谢。
    • 绝对。由于 AppID 可以设置为对每个应用程序都是唯一的,因此您可以有一个 Tommy@stackoverflow.com APPID - SiteA 和一个 Tommy@stackoverflow.com APPID - SiteB 而没有用户名已被占用错误。
    • 如果您需要在两个站点之间共享登录信息,您可以 a) 使 APPID 相同或 b) 自定义会员提供程序以便能够将信息从一个 APPID 内的用户复制到另一个,虽然我会警告这种方法,因为它可能会打开一些安全漏洞。
    猜你喜欢
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    相关资源
    最近更新 更多