我已經構建了一個MVC 5應用程序。現在是時候將它發佈到生產中了。 基礎架構由兩臺服務器組成:一臺可以在互聯網上訪問,另一臺只能在內部網中訪問。 服務器是Windows Server 2012 R2,並使用IIS 8.5託管應用程序。阻止訪問ASP.NET MVC中的公共操作5
該應用程序由後端和前端組成。後端的功能只能通過登錄才能訪問。
我想解決的問題是:如何防止從Internet登錄到應用程序並僅允許在Intranet中使用它?
我認爲這可能是web.config上的一些配置,以防止打開登錄頁面。
我已經閱讀了很多文章,但所有的結果都是爲了防止未經授權的用戶頁面。在我的情況下,登錄控制器具有[AllowAnonymous]
屬性,並且可以在未經授權的情況下訪問它。
如果它可以用在web.config中一個簡單的配置,我要在web.config中添加一鍵跟蹤它是互聯網上或服務器上的Intranet服務器等進行:
//for server accessible on intranet
<add key="serverType" value="PUBLIC"/>
// or
//for server accessible on intranet
<add key="serverType" value="Private"/>
而在相應的登錄控制器中,我將檢查該值,如果它是ConfigurationManager.AppSettings["serverType"] == "PUBLIC"
,我會將其重定向到站點公共主頁。
此解決方案是否存在任何安全問題?