2016-01-23 63 views
1

我使用ASP/MVC來開發我的網站,並且我在Azure上發佈它們(如果它在這方面發揮任何作用的話)。允許網站在公共領域,但需要登錄查看它

我經常創建需要管理員驗證的網站,這些網站既不在旅行中,也不在辦公室/公司網絡中,並且無法查看我的網站的本地版本。

我目前將它們發佈到Azure上的一些臨時開發實例,但有些模糊的URL ......但它們仍然可以公開訪問,有時我會創建應該被認爲安全的內容,而且我不會任何人都需要索引或發現。

我可以採取什麼方法將所有頁面放置在我的網站後面進行登錄?我認爲整個身份驗證模式會過度,因爲查看每個頁面的簡單用戶名/密碼就足夠了?但也許這就是認證。任何指針將不勝感激。

回答

1

如果您正在使用Azure的應用服務平臺(這聽起來像你應該,如果你是不是 - 建立一個共享實例,您可以部署很多的應用程序,每一個獨特的URL,到一個單一的應用程序服務計劃),您可以直接從您希望保護的Web應用程序上的Azure門戶設置中進行控制。

打開要鎖定的Web應用程序的刀片並選擇「所有設置」。接下來,選擇授權/驗證選項。這使您可以啓用身份驗證並從多個提供程序中進行選擇,以允許訪問諸如Azure Active Directory(您管理憑據),Microsoft帳戶,Facebook等訪問。您可以使每個應用程序具有不同的憑據集或全部共享一個組。它是由你決定。

enter image description here

+0

謝謝,這是我第一次嘗試在Azure中使用AD。我只是爲我的測試網站進行設置,似乎可以使用新門戶(portal.azure.com)爲每個應用程序設置,但AD需要使用舊門戶(manage.windowsazure.com)進行管理, 。說到這一點,它看起來像是我使用Azure AD,然後它允許任何位於Azure AD用戶列表中的用戶訪問該應用程序。猜猜這意味着管理層需要一個Microsoft帳戶,我需要使用管理門戶手動添加他們的帳戶?隨時有人想要查看它,我還需要添加它們呢? – mariocatch

+0

@mariocatch - 我最近才從經典的Web角色切換到應用服務計劃。因此,我意識到這一特性及其所陳述的功能,但目前我無法提供任何實際的實施建議。我一直在研究它,但還沒有執行它。但是你說的話聽起來是對的。而且,如果您想要的話,您可以爲每個應用程序創建Microsoft帳戶(如果您是indy顧問,請使用[email protected])。這樣,他們不需要做任何事情,而且您仍然可以獲得每個應用程序的結果。這是我的計劃。 – Tommy

1

我傾向於將事情暴露給第三方的過程不是將它們放在晦澀的URL上,而是創建主機頭,但不要爲它們創建DNS記錄。這樣客戶端(或第三方)將需要添加一些東西到他們的主機文件才能看到該網站。

我並不真正瞭解azure,但天藍色的文檔Configure a custom domain name in Azure App Service似乎表明,如果您不需要創建DNS記錄,您似乎不需要。我認爲有些系統(例如電子商務網站)會讓真實數據進入測試系統,或者爬到臨時站點並最終導致Google超出Joe Manager的便利程度,對公司造成更大的災難性影響。

如果您的網站本身也具有某種成員資格/帳戶行爲,那麼推出身份驗證解決方案可能會導致問題。

至於停止被索引的東西,這並不是很好的證明,但您可以調整the robots.txt文件以推薦漫遊器不抓取您的網站。

User-agent: * 
Disallow:/
+1

解釋的人到底是誰在道路上行駛如何修改HOSTS文件中的管理職位(和機器可能被鎖定反正感謝最小用戶Privledge原則)似乎是一個災難性的命題。 – Tommy

+0

感謝這個主意,但@Tommy是對的:)我試圖儘可能讓別人查看該網站,但將它放在某種牆壁後面,這樣它就不會被索引,或者被競爭對手查看發射。 – mariocatch

+1

YMMV,:-)對於某些系統(例如,一個電子商務網站)我相信將真實數據存入測試系統的危險性,或者爬到臨時站點並結束於谷歌的風險,都會衡量Joe Manager的便利性。 – NikolaiDante