2016-09-25 30 views
0

我的計算機上有多個ASP MVC項目,並且每個人都使用身份框架以及具有[Authorize]屬性的各種控制器。本地主機開發和部署的MVC身份Cookie安全最佳實踐

我發現如果我用一個項目登錄,然後在localhost上調試另一個項目,我可以繞過其他項目的安全性。

我知道這是因爲localhost只有一個cookie,但是,是否有任何簡單的方法可以解決這個問題以進行調試?在部署到公共互聯網時是否存在安全隱患?

+1

配置身份驗證時,確保每個項目指定不同的CookieName值。 –

+0

@ TiesonT.-我的cookies沒有問題,我的默認身份驗證cookie有問題,我無法重命名。此外,正如我所說,如果我可以登錄到不同的應用程序與該項目中不存在的用戶,我很想知道部署到互聯網的最佳做法... – Wil

+1

爲什麼你不能改變身份驗證cookie的名稱?這始終是FormsAuthentication的一部分,OWIN也不例外。如果您所做的只是應用AuthorizeAttribute(不包含角色或聲明),它只會檢查auth cookie是否存在,而不是它源自當前應用程序 –

回答

1

由於@TiesonT表示您需要重命名每個應用程序的身份驗證Cookie。你可以做到這一點在Startup.Auth.cs

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
    // other properties 
    CookieName = "MyCookieName", 
}); 

或者你可以設置你的開發計算機上的應用程序在IIS和給他們通過hosts文件,每個自己的域名。即MyApplication.dev,MyOtherApplication.dev