我正在构建一个MVC4应用程序。应用程序使用电子邮件地址作为用户名。 我有一种情况,用户可能会更改他们的电子邮件地址,这意味着我需要系统能够更改他的用户名..
是否可以使用MVC4和simplemebership?
所以我想将现有用户的用户名更改为新的用户名
由于
答案 0 :(得分:0)
SimpleMembership不提供从WebSecurity API更新用户的方法。您必须使用Entity Framework来执行此操作。
选项一是使用SimpleSecurity Project,它提供了WebSecurity的扩展实现。以下是SimpleSecurity Project中单元测试的片段,用于测试用户修改用户名的更新。
[TestMethod]
public void TestUpdateUser()
{
string username = "jdoe";
string password = "password";
string token = WebSecurity.CreateUserAndAccount(username, password, "jdoe@gmail.com", false);
bool validated = WebSecurity.ValidateUser(username, password);
Assert.IsTrue(validated, "Failed validation of user.");
//Get user for update
var user = WebSecurity.GetUser(username);
//Change the user name
username = "jdoe2";
user.UserName = username;
//Update the user information
WebSecurity.UpdateUser(user);
//Make sure we can still validate them
validated = WebSecurity.ValidateUser(username, password);
Assert.IsTrue(validated, "Failed validation of user after update.");
}
第二个选项是探索SimpleSecurity中的源代码,以了解它是如何实现的并复制它。你可以get the source code here。您可以在 SimpleSecurity.UnitTest 。
中逐步完成单元测试