我有一个支持多个组织的网站,多个用户都可以登录。当前的设置方式是每个人都访问同一个网站,并提供他们的组织、用户名和密码进行登录。
昨天,我突然想到,如果我们在服务器上为每个组织提供自己的网站,那么会更方便。例如,他们不必访问 www.example.com 并输入 org1、user1、pwd1,而是只需访问 org1.example.com 并输入 user1 和 pwd1 即可。
这似乎具有以下优点:
- 用户界面更简单。他们可以收藏特定网站,只需输入用户名和密码即可
- 维护更简单。更改一个组织的 web.config 或重新启动站点不会影响其他组织的用户。
- 更加灵活。不同组织可以设置不同
然而,我想知道如果有的话,会有什么缺点?
答案1
如果网站编程正确的话,就不会有任何缺点。
请注意,您实际上不需要更改当前设置中的任何内容,只需提供此登录页面即可。输入用户名和密码后,所有子网站都可以收敛到与现在相同的代码主体,无需分离。可以通过 cookie 或所有 URL 上的附加参数或其他全局数据机制指定和传播登录的子网站。
如果您确实决定使用单独的代码库,那么您将需要将改进和开发从一个代码库传播到另一个代码库,并且随着时间的推移和代码的不断分歧,这将变得越来越复杂。
根据痛苦的经验,我可以说,决定使用单独的代码可能会导致网站随着不断增加而变得越来越难以维护,最终维护和重新同步的考虑可能会导致开发被推迟甚至被阻止,直到一些勇敢的人决定放弃一切并从头开始。