我正在开发一个网站,并设置了一个组“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?
答案 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;
我认为这将是一种方法,使用评论更清晰,更容易维护。