2010-06-17 23 views
0

我正在開發基於瀏覽器的應用程序,該應用程序將擁有許多用戶。問題在於每個用戶都應該有自己的定製登錄頁面,但實際應用對每個人都是一樣的,並且需要位於中心位置。在線應用程序的多個登錄位置

登錄頁面是靜態的。也就是說,如果我們有一個需要單獨登錄的用戶,我們將爲它們創建一個單獨的登錄頁面,讓我們在user1.application.com上說,它將具有藍色背景。用戶2將傳遞一個url到user2.application.com,它將有一個綠色背景。應用程序不必動態更改登錄頁面的外觀,這將是靜態的,並在更高級別上進行管理。

這樣做最安全的方法是什麼?

爲每個用戶提供一份應用程序副本並保持數據庫集中是否更有意義?

預計用戶數量不是很高,大概在20-80左右。

謝謝,

+1

登錄頁面 - 如在哪裏輸入用戶名和密碼 - 是自定義的嗎?或者之後立即定製頁面(他們的「主頁」頁面或儀表板)? – 2010-06-17 01:01:23

+0

如果由於尚未登錄而不知道用戶是誰,您如何知道用戶要向他們顯示自定義登錄頁面? – 2010-06-17 08:57:16

+0

用戶輸入名稱和密碼的頁面是自定義的。我不需要知道用戶是誰,不同的用戶將在不同的位置有着陸頁。 – Goro 2010-06-17 20:41:46

回答

1

我可以給你說明如何使用Microsoft IIS和ASP.NET做到這一點。其他服務器和編程語言仍然適用,但具體情況會有所不同。

您需要有權訪問您的DNS設置。爲* .applicaiton.com創建一個DNS條目。我們將其作爲CNAME記錄來指向我們的www域記錄,該記錄被註冊爲與IP地址關聯的A記錄。

選項1: 在IIS 6中,創建一個網站並修改主機頭(網站屬性,網站選項卡,「網站標識」部分中的「高級...」按鈕)。添加一個空的主機標題。這將導致該IIS的Web站點回復與正在偵聽的IP地址相關的所有域的所有請求。

然後創建一個默認頁面,後面的代碼中,你將有一個看起來在每個請求的Request.UserHostName邏輯。它應該返回「user1.application.com」或「user2.application.com」或者「www.application.com」。然後,您必須解析該字符串並執行所有骯髒的工作來加載適當的頁面。

嗯,嗯,這就是你將如何動態地使用一個網站。重新閱讀你的問題,你談論「靜態」登錄頁面。爲此你有兩個選擇。您可以創建靜態登錄頁面,並讓您的動態頁面讀取這些文件並將其作爲響應發送出去,或者選項二將作爲響應...

選項2: 在IIS中,爲每個用戶創建一個新的網站。如上所述修改主機標題,以便每個網站只有一個主機標題等於用戶的登錄名。沒有一個空主機頭的網站。您必須創建一個網站並手動爲每個新用戶添加主機頭。

這兩個選項都不會聽起來很優雅,但選項1確實工作得很好。我們以類似的方式使用它來託管我們應用程序的多個「皮膚」。