如何自定义asp.net成员的dbo.aspnet_Users表

本文关键字:aspnet dbo Users 成员 自定义 asp net | 更新日期: 2023-09-27 18:29:46

我使用ASP.net成员身份,但我想在注册时为客户端存储额外信息,而不是像成员身份提供程序那样为默认列存储信息,那么我如何自定义dbo.aspnet_Users表并更改代码,使其不影响其他功能并正常工作呢?

有人能建议我如何做到这一点吗?

如何自定义asp.net成员的dbo.aspnet_Users表

使用ASP.NET Profile-Provider

https://web.archive.org/web/20211020111657/https://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>

我可以在codebehind:中写下这个属性

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;
}

你可以存储任何你想要的东西,请参阅上面的链接以获取更多信息。