ASP.NET用户名更改
|
我有一个asp.net网站使用ASP.net会员提供商。 DB中的每个注释,条目等都由用户ID跟踪。 由于MS没有提供更改用户名的方法,所以我在DB中的“users”表中找到了userNAME,只有一个用户名出现的位置。 我的问题是 提供“编辑个人资料”页面是安全的,用户可以在其中编辑自己的用户名。当然,我将通过直接更改数据库中的“用户名”值在后台处理此更改。 这有什么缺点吗?我创建和修改了一些测试帐户,似乎很好,我只是想知道在投入生产之前是否有任何已知的负面影响。 解决方法cptScarlet的链接很好,但是如果我不必要,我鄙视使用存储过程,并且尽可能地赞成Entity Framework。以下是使用EF 4.0和.NET 4.0更改用户名的操作:>右键单击项目 – >添加新项目 – > ADO.NET实体数据模型 现在您可以添加代码来创建EF对象上下文并修改数据库: public void ChangeUserName(string currentUserName,string newUserName)
{
using (var context = new MembershipEntities())
{
// Get the membership record from the database
var currentUserNameLowered = currentUserName.ToLower();
var membershipUser = context.aspnet_Users
.Where(u => u.LoweredUserName == currentUserNameLowered)
.FirstOrDefault();
if (membershipUser != null)
{
// Ensure that the new user name is not already being used
string newUserNameLowered = newUserName.ToLower();
if (!context.aspnet_Users.Any(u => u.LoweredUserName == newUserNameLowered))
{
membershipUser.UserName = newUserName;
membershipUser.LoweredUserName = newUserNameLowered;
context.SaveChanges();
}
}
}
}
注意:我的代码中没有列出应用程序ID。我通常只有一个应用程序使用ASP.NET成员资格数据库,所以如果你有多个应用程序,你需要考虑到这一点。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用于ASP.NET的web api – 如何构建对象流
- asp.net – 如何从Javascript调用控制器方法
- asp.net – 如何在asp标签中将文本与中心对齐
- asp.net – 使用Razor的Html.EditFor限制文本框中字符的长度
- asp.net-mvc – 使用mvc-mini-profiler
- asp.net-mvc – 从递归模型创建表单
- asp.net-mvc-3 – 是否可以在Javascript文件中使用razor语法
- asp.net-mvc – 为什么被赋予NoValidate属性?
- asp.net-mvc – 为什么Asp.NET MVC通过Asp.NET Web窗体
- asp.net – 如何MSDeploy构建的网站包到一个处女IIS网站
