我一直在尋找通過存儲我的用戶ID(INT)在身份驗證Cookie(Storing and accessing a legacy UserID in asp.net membership)的區域的UserData我自己的用戶錶鏈接到asp.net成員。因爲我的應用程序是爲了我自己的使用,也是爲了幫助我學習asp/c#,所以我認爲比較調整成員資格以適應我的數據庫和反向工作可能是一個不錯的主意(即,使用成員資格退出該框並相應地調整我的數據庫)。爲什麼asp.net成員資格UserID未存儲在身份驗證票證中?
如果將我的數據庫使用GUID(唯一標識符),用戶ID爲我所有與用戶相關的表的外鍵,那麼我還需要一種方法,使用戶ID容易接觸到我的應用程序。接受的方式來獲得用戶名似乎是像這樣:
Guid userID = (Guid)Membership.GetUser().ProviderUserKey;
現在,如果我理解正確的話,這涉及到數據庫的讀取。也許我很挑剔,但在每個請求上似乎都沒有必要。我會傾向於把它放在票上。我無法看到在票證(guid或int)中添加PK值時出現任何問題。是否存在安全風險?成員似乎很高興使用UserName作爲關鍵字而不是代理。這引出了問題 - 爲什麼他們不把用戶ID放在票證中?
你可以使用你的INT-ID的使用GUID的鏈接,例如自定義成員資格提供:http://stackoverflow.com/questions/6532418/how-to-combine-using-membership-api-with-own - 應用相關的數據/ 6532611#6532611 – 2012-02-15 15:41:39
@TimSchmelter - 這是本質上,我在做什麼。我只是想知道爲什麼具有開箱即用成員資格的用戶標識未存儲在認證工單中。他們忘記了還是有理由不把它放在那裏。 – Fruitbat 2012-02-15 15:55:56