我有一個asp.net webform應用程序(ProA)。它是由別人在不久前建立的,儘管我可以訪問源代碼。現在,我完成了另一個MVC5(ProB)應用程序。如何將UserIdentity/UserName從WebForm應用程序傳遞給MVC5應用程序?
ProA使用asp.net成員身份驗證用戶身份。 ProB沒有使用任何成員資格。現在,我們想要將用戶身份驗證添加到ProB,並且ProB的某些部分使用用戶名作爲某些數據的參數。
現在,我們要強制用戶從ProA登錄,然後點擊鏈接/按鈕,將用戶重定向到ProB。在ProB中,我們創建一個授權過濾器來驗證用戶是否有權限,然後顯示這些頁面。
我試圖跨應用程序使用表單認證,如下所示:跨身份驗證的表單身份驗證。但它不起作用。我在web.config中所做的更改如下:
<authentication mode="Forms">
<forms name="X.ASPXAUTH" loginUrl="~/Login.aspx" path="/"
protection="All"
enableCrossAppRedirects="true"
/>
</authentication>
難道是因爲一個是webform,另一個是MVC?另外,ProB實際上還沒有安裝任何成員資格,它是否會影響這種形式的認證?
其他建議?
謝謝。
---增加了更多信息:
1)我在我的本地機器上測試。我在VS2012中運行這兩個站點。我應該用什麼域名? 「localhost」 的? 「.localhost」?或者,根本不使用域?似乎不工作。
2)我加入的ProA上的按鈕,點擊後,使用此重定向概率:
HttpContext.Current.Response.Redirect("http://localhost:12345/", false);
這是正確的方法是什麼? HttpContext具有用戶標識。
3)ProB是否必須擁有會員資格?現在,ProB沒有會員特徵,這是原因嗎?
感謝回答。但是,我有一些問題,請參閱原始問題的底部。 – urlreader 2015-02-11 22:55:32
1.使用'localhost'作爲域名應該可以工作,如果沒有的話,我會建議將2個站點部署到開發機器上的IIS,類似於他們在生產中的情況。 2.使用該機制重定向將會很好。 3.你如何測試它在ProB應用程序中工作? – 2015-02-12 00:07:48
終於搞明白了。實際上,由於它位於同一臺機器上(Dev或Production服務器),因此我們不應該使用Domain屬性。如果使用它,將無法正常工作。謝謝。 – urlreader 2015-02-17 18:26:55