2010-08-11 32 views
0

我們有兩個截然不同的用戶列表,我們需要登錄訪問我們網站的各個部分。 這些列表不能合併,因爲每天都會同步到外部託管的數據源,並且兩個表必須100%相同。ASP.NET成員資格 - 一次登錄到兩個地方

我們已經在網站上設置了兩個會員供應商,但我的問題是,是否可以同時登錄?

我發現的問題是HttpContext.Current.User.identity.name包含上次成功登錄的用戶名。

+0

這兩個存儲庫中的用戶名是否相同? – 2010-08-11 22:59:16

回答

0

使用某種類型的分隔符,並把兩個用戶進入登錄身份。例如mp3duck/employee1

當您通過成員資格提供1登錄,你會做類似

// extract the existing prov2ID so you can keep it. GetID() would be a string split function 
string prov2ID = GetID(User.Identity.Name, 2); 
FormsAuthentication.SetAuthCookie(prov1ID + "/" + prov2ID, false); 

以及通過成員資格提供2

登錄反之如果你使用的是< ASP :登錄>控件,因爲登錄控件調用SetAuthCookie()本身,所以您將修改UserName propery而不是調用SetAuthCookie()。

您可以將任何類型的東西放入標識名稱中。我經常用它來存儲用戶主鍵的數字int ID和他們的用戶名。唯一的缺點是你必須在html中顯示時清理它。例如你好<%User.Identity.Name%>會顯示比你想要的多得多。

+0

感謝Jacob的回覆。我在下面添加了後續問題 – mp3duck 2010-08-12 07:28:10