2016-04-24 18 views
1

我有一個MVC5項目(與其他基礎項目),使用Web窗體身份驗證(SimpleMembership)。兩個MVC項目,分享登錄,不應該

後來,我在同一個解決方案中創建了第二個MVC項目。我將IISExpress調試的端口更改爲與原始端口不同,因此我可以在調試時訪問這兩個站點。

http://localhost:12345/MainAppIndex 
http://localhost:54321/SecondaryAppIndex 

但是,我當前的登錄信息是在兩個項目之間共享的。如果我登錄第一個網站並打開第二個網站,它會使用我的第一個登錄憑據。

我通過複製第一個項目,對.csproj文件和解決方案文件進行調整,然後剝離了一堆東西,開始使用我所需的東西,從字面上製作出第二個應用程序。 (我還創建了一個新的aspnet成員資格數據庫,並將新項目指向該數據庫,因此這兩個應用程序都有自己的成員資格數據庫)。

我必須更改IIS Express以將這些視爲兩個不同的登錄名進行更改的設置?

而且......這會在生產一個問題,如果用戶碰巧看都在同一時間(甚至交換來回只用一個開放的一次?)

回答

1

這原來是一個cookie問題。通過更改web.config以設置非默認cookie名稱(默認爲.ASPXAUTH,顯然),它們將被視爲單獨的登錄名。

<system.web> 
    <authentication mode="Forms"> 
     <forms name=".ASPXAUTH-PROVIDERS" loginUrl="~/Account/Login" timeout="2880" /> 
    </authentication> 
</system.web> 
0

您需要使用另一個數據庫或2個應用程序將繼續使用同一個數據庫

爲了做到這一點,請轉到Web.Config(位於根目錄)並使用其他連接字符串。

然後轉到模型 - > IdentityModels.cs並將連接字符串的名稱更改爲新的連接字符串。

+0

對不起丹尼斯,我忘了把我的問題放在我爲這個二級登錄創建一個單獨的數據庫,這一切工作正常。結果是一個餅乾問題,我很快就會拋出我的答案。 – jleach