Web应用程序开发 - 子域

时间:2009-11-05 15:43:14

标签: subdomain

我目前正处于构建将由公司使用的网络应用程序的早期设计阶段。每个公司都有很多部门,每个部门都有很多员工。每个部门都将管理自己的应用程序,员工登录到应用程序。

不同组织的员工可能拥有相同的员工ID。出于这个原因,我正在考虑使用子域名。每家公司都有自己的子域名。我已经google了一些关于使用子域名并且已经看到了一些积极因素,但是没有太多的负面因素,除了SEO含义(我真的不感兴趣...这个应用程序将需要与每个组织直接联系..它是非常专业的)

任何人都可以想到使用子域名的其他任何缺点吗?谁能想到更好的做事方式呢?

此致 菲奥娜

3 个答案:

答案 0 :(得分:1)

您的登录信息可能位于某个数据库表中。您将需要为每个公司分别使用数据库,并且需要确定要使用的数据库。或者,您将在一个表中拥有所有用户,具有某种公司ID - 您需要确定要添加到登录查询的公司ID。

您可以根据子域,或在公司特定的登录页面或目录上进行这些确定,或者您可以要求他们选择要登录的公司(这将非常难看)。

子域名应该可以正常工作。每次添加公司时都需要进行DNS设置,或者制定一些apache魔法。您可能需要为每个子域提供SSL证书(我认为 - 我不太熟悉这些证书)。除此之外,就代码或架构而言,我没有看到任何大的缺点或优点。营销可能对一个人有更强的理由。

您仍然希望使用其他方法来确保用户无法访问其他公司的数据,尤其是在可以猜到其他子域的情况下。

我们还有一个多公司应用程序,但决定使所有登录都是唯一的。这使得我们更容易识别用户,但有时必须解释为什么某些用户名不可用,即使该用户的公司没有使用它。

答案 1 :(得分:0)

使用子域名是一个好主意,我唯一关心的是用户身份验证。我是一个.net的人,所以我提出这个查询,我不确定你是否使用asp.net进行开发。如果您使用asp.net开发此网站,并且您使用asp.net成员资格,配置文件和角色进行身份验证和授权,则最终会遇到安全问题。由于用户登录http://abc.site.com后也可以访问该网站http://xyz.site.com。这是asp.net成员资格工作的默认方式。所以你需要牢记这一点。

休息我认为子域哲学已经足够好了。

答案 2 :(得分:0)

子域名可能与asp.net成员资格一样正常。因为表是为成员资格提供者创建的,所以有一个aspnet_applications表,其中包含应用程序名称和描述的字段。在aspnet_memberhip表中,每个用户都有一个applicationID字段。如果应用程序名称是子域,那么您可以限制哪个用户可以访问哪个应用程序。 XYZ subdomian将是一个具有自己ID的应用程序,ABC应用程序将是另一个。

有趣的域名问题。祝你好运,并在创作后分享你的成果。