2009-11-05 87 views
2

我目前處於構建將由公司使用的Web應用程序的設計階段。每個公司都有很多部門,每個部門都有很多員工。每個部門都會管理自己的應用程序,同時員工登錄到應用程序。Web應用程序開發 - 子域

有可能跨不同組織的員工擁有相同的員工編號。出於這個原因,我正在考慮使用子域名。每家公司都有自己的子域名。我已經搜索了一些關於使用子域名的信息,並且看到了一些積極的信息,但是除了搜索引擎優化的含義之外,沒有太多的消極因素(這並不令我感興趣......這個程序需要與每個組織直接聯繫..它是非常專業的)

任何人都可以想到使用子域的任何其他缺點嗎?任何人都可以想到更好的做事方式嗎?

問候,使用子域名是一個好主意,我唯一關心的是關於用戶的認證 菲奧娜

+0

我不明白工作人員身份與您的網址/域名有什麼關係。 – ahockley 2009-11-05 15:44:44

+0

好吧,說我們不去與子域,然後我有一個數據庫。每位工作人員都將使用其staffid登錄該網站。如果有兩名工作人員在同一工作人員身邊,這會造成問題。不幸的是,一個要求是他們將使用他們的員工ID登錄到應用程序。 如果你看到這個邏輯有什麼問題,請讓我知道.. – Fiona 2009-11-05 15:57:57

+0

我不明白你的域名情況和你的數據庫之間有什麼聯繫。我可以創建一個具有一個數據庫或多個數據庫的Web應用程序,使用子域名或不使用子域名。 您是否正在使用某種技術將數據庫模式直接綁定到您的URL? – ahockley 2009-11-05 16:05:39

回答

1

您的登錄信息大概會在某個數據庫表中。您需要爲每家公司分別設置數據庫,並需要確定要使用哪個數據庫。或者,您將擁有一個表中的所有用戶以及某種公司標識 - 並且您需要確定將哪個公司標識添加到您的登錄查詢中。

您可以根據子域名或公司特定的登錄頁面或目錄進行這些決定,或者您可以要求他們選擇要登錄哪家公司(這將非常難看)。

子域名應​​該正常工作。每次添加公司時都必須進行DNS設置,或者制定一些Apache魔法。您可能需要每個子域的SSL證書(我認爲 - 我不太熟悉這些)。除此之外,就代碼或體系結構而言,我沒有看到任何大的缺點或優點。市場營銷對於其中一個來說可能會更有力。

您仍然希望使用其他方法來確保用戶無法訪問其他公司的數據,尤其是在其他子域名可疑的情況下。

我們也有一個多公司應用程序,但決定使所有登錄都是唯一的。這使我們能夠更輕鬆地識別用戶的唯一身份,但偶爾需要解釋爲什麼某些用戶名不可用,即使該用戶的公司沒有使用它。

+0

嗨斯科特,挑選哪家公司他們希望登錄到不是一個選項。因此,我們留下子域或子目錄。如果我使用子域路由,因爲每個用戶都有自己的數據庫,這可以消除有權訪問另一家公司數據的用戶的安全問題,除非兩個員工ID具有相同的密碼(我認爲這是非常不可能的)。或者您在這裏看到其他安全問題?此外,如果我去子目錄路線,那麼我將不得不強制登錄唯一性。這不是一個選項。再次感謝。 Fiona – Fiona 2009-11-05 16:10:00

+0

如果您爲每家公司都有單獨的數據庫,那麼您只需確定要使用哪個數據庫。您可以通過確定他們所在的子域,或者從他們登錄的目錄/登錄頁面來完成。在PHP或Java中,任何一種測試都可以少至一行或兩行代碼。所以我認爲要麼工作沒有太大的差別。一旦你選擇了一個數據庫,不應該有任何更多的安全問題 - 只要確保所有查詢都正確。 :) – 2009-11-05 16:17:00

0

。我是一個.net人,所以我提出這個查詢,我不知道你是否使用asp.net進行開發。如果您使用asp.net開發本網站並且您正在使用asp.net成員資格,配置文件和角色進行身份驗證和授權,那麼您最終會遇到安全問題。因爲登錄到http://abc.site.com後的用戶也可以訪問該站點http://xyz.site.com。這是asp.net成員資格工作的默認方式。所以你需要牢記這一點。

休息我認爲子領域的哲學是足夠好的。

+0

感謝Bootcamp ..該應用程序不會與.net ..建立在一起什麼樣的技術與它一起建立尚未決定,但它很可靠地說,它將與一些開源技術。 – Fiona 2009-11-05 15:59:22

0

子域名可能在asp.net成員資格上工作得很好。因爲表是爲成員資格提供程序創建的,所以有一個aspnet_applications表,它具有te應用程序名稱和說明的字段。在aspnet_memberhip表中,每個用戶都有一個applicationID字段。如果應用程序名稱是子域名,那麼您可能會限制哪個用戶可以訪問哪個應用程序。 XYZ subdomian將是一個具有自己ID的應用程序,而ABC應用程序將是另一個應用程序。

有趣的域問題。祝你好運,並在創建後分享你的結果。