我知道相關的安全風險並將它與業務聯繫起來,但他們希望有5個域共享登錄cookie。使用FormsAuthentication交叉域名Cookie
我們正在使用並沒有計劃停止使用ASP.Net成員資格和配置文件。這可能嗎?黑客甚至將不勝感激。
我知道相關的安全風險並將它與業務聯繫起來,但他們希望有5個域共享登錄cookie。使用FormsAuthentication交叉域名Cookie
我們正在使用並沒有計劃停止使用ASP.Net成員資格和配置文件。這可能嗎?黑客甚至將不勝感激。
開箱即用的ASP.NET是不可能的。
基於表單的身份驗證基於Cookie,Cookie只能設置爲特定的域。
如果您想要真正的跨域(不是子域)共享身份驗證,您需要一個單一登錄解決方案。
我已經推出了自己的,它相對簡單。基本原則是您擁有一個擁有認證cookie(票證)的主域。然後,您將從所有其他域重定向到該域。這不太好,但事件微軟護照工作的方式。
你可以找到很多的在網上的例子,來看看這兩個環節:
不僅與ASP.Net這是不可能的,但不在所有。 Cookie始終是特定於域的 - 任何商業瀏覽器都不能以其他方式工作。這是設計和非常必要的,以防止廣泛濫用Cookie。 Muerte指出你正確的方向(單點登錄)。
您可以設置所有這些領域的子域爲您的公司:
www.company.com
shop.company.com
sales.company.com
research.company.com
..
,那麼你就可以設置cookie到父域,這將是可見的所有子域。
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
cookie.Domain = ".company.com";
Repsonse.Cookies.Add(cookie);
問候, 最大Chernyshov http://prontocoder.com
在那第二個鏈接,如果您有運行演示,因爲「鍵不適於在指定狀態下使用」的麻煩,試試這個:確保密鑰文件實際上是在你認爲的地方創建的。看起來示例代碼包含一個密鑰文件,但是我們當然想要創建自己的密鑰文件。爲了保存密鑰文件(tripleDES.key),我首先必須將配置保存在企業庫配置工具中(右鍵單擊,保存)。一旦我保存了配置,我的密鑰文件也會立即保存,並且我可以運行演示應用程序。 – northben 2013-04-15 17:02:34