2012-04-17 72 views
0

我用我的應用程序Asp.Net/C#,我使用的aspnet_regsql服務Asp.Net內置會員框架路上安裝有我的database.The aspnet_users表已正確安裝但包含有關的基本信息用戶,我如何添加有關用戶的附加信息。我應該修改表本身,還是應該使用另一個表並將其與aspnet_users錶鏈接。同時Membership.ValidateUser(username,password)工作正常,但我有一個要求,其中登錄是基於用戶code.How我可以實現這一點,是否有可能與內置的成員資格。 任何建議是最受歡迎的。 謝謝在Asp.Net使用自定義會員

+0

是的,這一切成爲可能。您必須詳細說明「用戶代碼」以獲得更好的答案。 – 2012-04-17 09:51:33

+0

@HenkHolterman用戶代碼可以是類似於1a,2a等的內容 – freebird 2012-04-17 09:53:28

+0

您如何(不)用'1a'登錄? – 2012-04-17 09:56:08

回答

1

使用ASP.NET Profile-Provider代替。

http://www.4guysfromrolla.com/articles/101106-1.aspx

您可以存儲任何類型的信息,甚至是二進制文件(影像)。 我在我當前的應用程序中使用了自己的SqlProfileProvide以讓用戶自己選擇他的首頁。

爲此我只是需要把它添加到web.config

<profile defaultProvider="AspNetSqlProfileProvider"> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="RM2ConnectionString" applicationName="/ERP"/> 
    </providers> 
    <properties> 
    <add name="Startpage"/> 
    </properties> 
</profile> 

,我可以在代碼隱藏寫此屬性:

if(User.Identity.IsAuthenticated) 
{ 
    HttpContext.Current.Profile.SetPropertyValue("Startpage", startPage); //startPage is a String 
    HttpContext.Current.Profile.Save(); 
} 

,並以下列方式閱讀:

if(User.Identity.IsAuthenticated) 
{ 
    Dim user = Membership.GetUser(); 
    Dim startPage = HttpContext.Current.Profile.GetPropertyValue("Startpage") as String; 
} 

你可以存儲你想要的任何東西,查看上面的鏈接以獲取更多信息ations。

+0

謝謝很多,它幫助。謝謝 – freebird 2012-04-17 10:17:26

1

您可以通過繼承System.Web.Security.MembershipProvider來創建自定義成員資格提供程序 - 這種方式可以實現您需要的任何附加功能。然後,您可以將用戶詳細信息存儲在您自己的表結構中。然後,您可以將web.config指向您的定製提供商以使用它。

相關鏈接: