如何更新simplemembership中的用户名?

时间:2014-02-18 13:10:15

标签: c# asp.net-mvc-4 simplemembership

我正在构建一个MVC4应用程序。应用程序使用电子邮件地址作为用户名。 我有一种情况,用户可能会更改他们的电子邮件地址,这意味着我需要系统能够更改他的用户名..

是否可以使用MVC4和simplemebership?

所以我想将现有用户的用户名更改为新的用户名

由于

1 个答案:

答案 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

中逐步完成单元测试