2013-11-26 99 views
1

我有一個應用程序,我在lightswitch建設,併爲他們創建用戶角色和身份驗證。在我的數據庫中,我有所有aspnet security表。現在在aspnet_Users,我有我的所有用戶和aspnet_memebership與相關信息。我需要添加一個字段到任何一個表格(這是你們所建議的)來捕獲附加信息,即國家。我的意圖是,當在asp.net應用程序中使用我的代碼時,我可以爲用戶獲取國家/地區。類似於我可以通過以下代碼獲取用戶的身份名稱。擴展aspnet_users添加額外的字段

EDITED 我知道如何在表格中添加字段,我不知道如何使用User.Identity訪問字段......我希望我的新字段在代碼中顯示。

對不起,如果有任何誤解。

Application.Current.User.Identity.Name; 

我想實現像人的國家類似的東西:

Application.Current.User.Identity.Country 
+0

你問的是如何將這個列添加到表中,或者你問哪一個表最適合添加此列? – Jerreck

+0

我不知道這個發佈的答案,但我99%確定Application.Current.User.Identity.Country將無法正常工作,因爲它不存在作爲對象(User.Identity.Country是一個在其中一個系統組件中找到的預建對象)。所以,你將不得不創建這個對象以及它用來連接你的數據庫和檢索你想要的數據的方法。看看這些鏈接:http://msdn.microsoft.com/en-us/library/bb386940(v=vs.110).aspx http://stackoverflow.com/questions/4002323/creating-a-database-query - 方法/ 4002709#4002709 – Jerreck

回答

0

聽起來像是你需要以訪問附加屬性來實現Custom Membership UserCustom Membership Provider一起。

然後您將需要使用MembershipProvider.GetUser().Country來檢索屬性(其中MembershipProvider是您的成員資格提供者的名稱)。

如果你想訪問Application.Current.User.Identity.Country那麼你可以創建自己的類,從System.Security.Principal.IIdentity繼承和再投Application.Current.User.Identity到自己的類型訪問屬性之前。

相關問題