如何显示用户帐户的信息?

时间:2012-09-04 12:49:12

标签: c# asp.net asp.net-membership user-roles

我正在开发一个网站,并设置了一个组“admin”的角色,我希望能够选择一个用户并显示有关该用户的信息...名称,密码,安全问题等。完成这项工作最简单的方法是什么?此外,我修改了默认登录步骤,以包括一些额外的要求,如名字和姓氏,公司等。我希望“管理员”组能够快速,轻松地查看所有这些信息,以便客户来自另一家公司打电话给我们说他们解雇了那个人,我们可以根据他们的实际名称删除用户,而不是用户名。

修改 我可以这样做:

MembershipUser user = System.Web.Security.Membership.GetUser(RegisterUser.UserName);
user.Comment = fnametxt.Text.ToString() + " " + lnametxt.Text.ToString() + " " + companytxt.Text.ToString();
System.Web.Security.Membership.UpdateUser(user);

存储附加信息然后在需要时从sql数据库中调用user.Comment?

2 个答案:

答案 0 :(得分:1)

好的,你还没有说“你在哪里”存储你的会员信息,但我会假设它在SQL DAtabase中使用开箱即用的会员资格&由aspnet_regsql.exe生成的RoleProvider模式

除了在ASP.NET网站中使用the built-in user configuration tool之外,还有一些第三方应用程序可用于与您的会员用户进行交互。

很久以前我使用过MyWSAT,但似乎不再维护了。{/ p>

你应该注意的一件事是,你不能&不应该在系统中显示最终用户的“密码”。

答案 1 :(得分:0)

您正在寻找的是个人资料提供商。这可用于存储有关用户的附加信息,例如姓名和其他杂记。

<。>在Web.config中

<profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider"
             type="System.Web.Profile.SqlProfileProvider"
             connectionStringName="yourConnectionString"<!--Same as membership provider-->
             applicationName="/"/>
      </providers>
      <properties>
        <add name="FirstName" type="string"/>
        <add name="LastName" type="string"/>
        <add name="Company" type="string"/>
      </properties>
    </profile>

添加/编辑个人资料属性:

var username = User.Identity.Name;
ProfileBase profile = ProfileBase.Create(username);
profile["FirstName"] = "John";
profile["LastName"] = "Smith";
profile["Company"] = "WalMart";
profile.Save();

阅读个人资料属性:

var username = User.Identity.Name;
var profile = ProfileBase.Create(username);
var firstName = profile["FirstName"] as string;
var lastName = profile["LastName"] as string;
var company = profile["Company"] as string;

我认为这将是一种方法,使用评论更清晰,更容易维护。