it-swarm.cn

每个公司的子域还是单个URL更适合Web应用

我正在编写一个Web应用程序,该应用程序用于小型公司,每个公司将有多个用户。

什么是更好的:

  1. 为每个公司分配一个子域(因此您可以通过my-company.example.com访问该应用)

  2. 每个人都可以通过www.example.com访问该服务(在这种情况下,您必须在登录页面中输入公司名称)。

我要问的是从可用性角度来看哪个更好,两者在公司之间将具有完全相同的完全隔离,并且都需要完全相同的工作量来实施。

更新:公司的大多数(如果不是全部)员工将使用该应用程序。

11
Nir

我认为这取决于谁应该使用该应用程序。如果我的公司的客户或员工应该使用该应用程序,则使用子域会更轻松,更舒适(这也可以使带有徽标等的页面个性化。 )。

如果打算仅由几个管理员级别的人员访问该应用程序,则登录到主应用程序并在那里进行设置可能会更容易。

例如,单个用户使用gmail更简单,但对于组织而言,使用Google应用更简单。尽管设置起来需要花费更多的工作,但它专门用于我的公司

4
Sruly

绝对使用每个公司的子域。

您可以通过2种不同的方式执行此操作:

  1. company.yourcoolapp.com
  2. yourcoolapp.company.com 1个

这两个选项之间的差异很小,但是对我来说,似乎是第一个选项,软件用户看到他们的公司被允许在您的域上使用您的软件(可能是这种情况)。他们可能会或可能不会觉得自己拥有所输入数据的所有权(取决于您的应用程序实际执行的操作)。

使用选项2,软件用户会看到您的应用程序是其域的一部分,就像数据/应用程序由其公司托管一样。在这种情况下,我认为用户会觉得应用程序更像是公司的一部分,而不是他们刚使用的外部产品。

您甚至可以同时设置两个URL,其中一个域指向另一个域。这是我的大学 Blackboard (教育软件包)的工作方式:

  1. http://unco.blackboard.com
  2. http://blackboard.unco.ed

1个 如果您正在编写著名律师事务所Dewey,Cheatem和Howe可能使用的应用程序,则这可能是一个难看的URL: http://mycoolapp.DeweyCheatemAndHoweAttorneysAtLaw.com

8
Jared Harley

拥有子域会增强所有权感(也许还有隐私性)。
您可以使用公司的徽标,新闻等自定义子域的目标网页。

另一方面,如果您使用一个中央页面,则组织(服务提供商)的唯一品牌可以在那里。

如果您只有一页,请确保支持自动填写组织字段的URL,以便您的用户可以发送直接链接。

请考虑一下,也许您可​​以完全跳过组织:
您可能有跨组织用户吗?
这意味着Beth在Org A(为Org B提供服务)中工作,因此Beth必须登录这两个组织。

如果是[[〜#〜] not [〜#〜]情况,那么用户可以从一个中心页面登录,而不必填写任何组织字段,因为她将自动与正确对象,真爱。

话虽如此,然后从另一个子域登录更有意义。

5
Dan Barak

对于我们的应用程序,我们决定将它们组合在一起,并且我们认为它运行良好:

  • 用户可以访问ourapp.com并单击“登录”以重定向到登录屏幕
  • 用户可以直接访问登录屏幕
  • 登录后,所有用户都将被置于xxx.ourapp.com的“已登录”环境中。
  • 用户在我们的应用中创建实体时,可以在yyy.ourapp.com上为其指定子域名
  • yyy.ourapp.com是“面向客户”的,因此未显示ourapp的商标,包括任何登录链接。

我们决定不做“在主页上输入公司名称”部分,因为我们意识到,从数据库和域模型的角度来看,让每个人都有自己的“帐户”并进行登录会更好,然后编写业务逻辑以使用户彼此关联。技术性内容,但有时在设计用户体验时必须考虑到这一点。

2
Rahul

选择其中一项之前,需要考虑两件事:

  1. 网站安全。
  2. 网站SEO。

个性化子域

如果您需要tight security,则应转到个性化子域,选择个性化子域时,有几件事会加强站点的安全性:

  • 没有Google索引。您可以避免google将您的私人客户网站编入索引,并且可以安全地将所有www网站编入索引,而不必担心您的系统会受到威胁。
  • 避免通过查看您的robots.txt进行网站黑客攻击。您可以放心地禁止Google为您的多个页面或目录结构建立索引,但有人可以轻松地窥探您的robots.txt并在那里找到一些宝贵的东西。

如果您更喜欢安全性而不是搜索引擎优化,那么可以选择个性化的子域,但是实现起来有点棘手,不要使用dns向子域中添加cname或记录,只需添加一个* .yourdomain.com的记录,您可以从Web服务器使用vhost安全地管理您的子域,因此没有人可以在不首先知道其确切名称的情况下进入该子域。

个性化子文件夹

如果您需要优化搜索引擎中的网站排名,则可以使用此方法。您可以使用robots.txt禁止搜索引擎对某些地方建立索引,希望没人知道它的位置。另外,由于所有客户都访问您的主站点,而不是他们自己的子域,因此您可以使站点的排名高于以前的方法。


摘要

我个人选择第一个选项,因为我无法承受丢失某些页面而被搜索引擎无意索引的麻烦,或者有人以某种方式找到了我的robots.txt。如果我比以往任何时候都需要SEO,则只需为该公司创建一个博客并将其编入索引,这将吸引更多的人并获得更高的唯一访问量,并提高排名,而不用冒险让我的系统更容易受到威胁。

1
Hendra Uzia

请注意,第二种解决方案是用户必须输入公司名称,唯一好的解决方案是公司子域。以这种方式思考-使用解决方案1,这是用户要做的事情:

  1. 转到网站网址
  2. 输入他们的用户名
  3. 输入密码
  4. 登录

对于解决方案2,这是他们要做的事情:

  1. 转到网站网址
  2. 输入他们的公司名称
  3. 输入他们的用户名
  4. 输入密码
  5. 登录

如果不需要,为什么还要添加额外的步骤?同样,使用户键入公司名称是额外的认知负担,因为现在他们需要记住how才能正确输入公司名称。如果他们通常通过首字母缩写词或简称来指代公司,会发生什么情况?登录页面使用了什么?为什么在不需要时让用户记住额外的细节?

0
Charles Boyung