2014-01-30 33 views
1

我在使用IIS時很缺乏經驗,所以如果問題有點令人困惑,我很抱歉。是否有可能根據發送給控制器的參數重新路由用戶?

在應用程序中,我有一個名爲'登錄'的方法的控制器,它接受一個字符串參數。該參數標識用戶正試圖認證的組織。

例如:

http://mysite1.com/Login/12345 

訪問此鏈接將用戶帶到一個登錄頁面爲與「」相關聯爲他們的訪問密鑰的組織。

有什麼辦法,以重定向是在「12345」登錄到另一臺服務器的用戶?我們有幾個願意參與的測試版用戶,但是兩個服務器的數據庫模式都不相同,所以測試版用戶不會碰到錯誤的站點很重要。

在用戶登錄後,進入關鍵是在URL不再,所以我不能做比賽反對。

我想爲用戶看到下面的網址:

http://mysite1.com/Login/12345 
http://mysite1.com/Products/ 
http://mysite1.com/Admin/ 

而實際上他們是在不同的服務器上:

http://mysite2.com/Products/ 
http://mysite2.com/Admin/ 

我必須強調的是,我真的需要的URL留「mysite1」對於用戶來說,當在現實中,他們會在「mysite2」。請讓我知道這是否可能,或者如果有更好的解決方案。

對不起,如果這是一個令人困惑的情況,或者如果有一些我缺少的信息。如有必要,我會進行編輯。

回答

0

幾乎任何事情都是可能的,但這種做法似乎非常痛苦。

IIS可以執行URL重寫,但它會做這個它擊中認證層之前,所以它不會有可能在這一水平來區分用戶。

看來最好的選擇是編寫自定義URL重寫器提供程序。看起來像this post正試圖解決這個問題。

這真的似乎更好或者重定向到不同的服務器(我知道你說你不能這樣做)或功能的多個版本合併成一個單一的應用程序(使用不同的控制/後端模型等。 )

This link可能有助於理解關於流動在ASP.NET MVC應用程序是如何工作的一點點。

相關問題