簡體   English   中英

快速 JS 路由

[英]Express JS Routes

初學者問題在這里。 我想構建一個應用程序,該應用程序將成為 70 家連鎖餐廳的內部網。 我需要的是讓每個實體餐廳位置查看發布到 MongoDB 數據庫的數據,並顯示在商店頁面上掛在牆上的屏幕上。 這些數據將特定於每個位置,例如公告、需要由該商店填寫的餐飲訂單等......我的問題是,我如何創建路線,以便每個單獨的商店只能看到他們的數據而無需創建70 條不同的路由還是使用身份驗證來利用用戶 ID?

試圖避免用戶登錄和:

“/store1” “/store2” “/store3” 等等...

好像我可以查詢站點 ID 或類似的東西

希望這使自。

如果您正在談論所有 70 家餐廳都可以訪問的一個位於中心的服務器,並且您希望所有餐廳都擁有相同的路線,那么您需要從請求中破譯一些其他線索,以確定是哪家餐廳正在制作要求。

由於您已取消身份驗證,我將假設這里沒有安全問題 - 這是在只能由餐廳員工訪問的內部網上。

因此,以下是您可以從任何給定請求中獲得的線索,以決定要顯示哪個餐廳的數據:

  1. 包含所需餐廳 ID 的 Cookie。
  2. 包含所需餐廳 ID 的查詢參數。
  3. 請求的 IP 地址,以識別請求來自哪個餐廳。
  4. 每個餐廳的單獨子域(都指向同一主機)。

以下是有關每個選項的更多信息:

曲奇餅

在這個實現中,如果客戶到達時沒有為餐廳 ID 設置 cookie,那么您將他們帶到一個打開頁面,在那里他們選擇他們想要查看的餐廳的數據,然后您要求用戶手動選擇所需的餐廳。 然后,您在該瀏覽器中設置一個持久的 cookie,從那時起(只要 cookie 沒有被刪除),您的服務器可以默認只顯示他們餐廳的信息。

查詢參數

在此實現中,您使用一些初始餐廳規范,如 cookie 選項,然后生成頁面,其中所有鏈接都指定了一個查詢參數,其中列出了餐廳 ID(可能使用模板系統)。 如今,與普通的 cookie 系統相比,這通常不受青睞。

IP地址

如果您所有的餐廳都有自己的子網(大概是某種寬帶連接通過某種專用連接連接到中央服務器,那么您也許可以構建一個小餐廳源 IP 地址表,以便您可以識別哪個餐廳正在制作請求完全由請求的 IP 地址決定。這可能可行,也可能不可行,具體取決於您的網絡拓撲。這將比任何其他選項更自動。

單獨的子域

這有點像基於 cookie 的選項,但不是設置 cookie,一旦選擇了所需的餐廳,您將重定向到特定於該餐廳的子域。 所有子域仍將指向同一主機,但主機可以從發出請求的子域中識別所需的餐廳。 與查詢參數選項類似,您需要在服務器端使用一些模板系統來重寫所有鏈接以包含正確的子域,以便您在導航時保持在同一個子域中。


在所有這些選項中,IP 地址方案是唯一一種完全自動的方案,但根據您的網絡拓撲結構可能可行,也可能不可行。 在其他選擇中,cookie 是最容易實現的,因為頁面鏈接本身不必重寫。


企業配置

在您“管理”任何獲准使用的瀏覽器的企業場景中,您還可以預先配置每家餐廳的瀏覽器以自動提供一些標識(自定義標題或 cookie),並且您的服務器可以使用該識別信息來確定哪家餐廳正在做出選擇。 這將需要僅通過預先配置、批准和正確維護的瀏覽器訪問您的站點(這可能比它的價值更痛苦)。

例如,以下是如何為 Microsoft Edge 的所有請求配置自定義標頭

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM