我正在运行一个 ASP.net MVC 3 Web 应用程序,并使用 Membership Provider。我想知道是否可以允许用户(或管理员)更改现有帐户的用户名?我还没有找到一种方法来做到这一点。用户名不是电子邮件地址,而是在我尝试分配新名称之前验证其唯一性。
任何帮助,将不胜感激!
我正在运行一个 ASP.net MVC 3 Web 应用程序,并使用 Membership Provider。我想知道是否可以允许用户(或管理员)更改现有帐户的用户名?我还没有找到一种方法来做到这一点。用户名不是电子邮件地址,而是在我尝试分配新名称之前验证其唯一性。
任何帮助,将不胜感激!
会员提供者不提供更新用户名的方法。您将需要扩展成员资格提供程序 UpdateUser 方法或直接与成员资格表交互以允许此更改。无论您如何处理,请记住几项
更新时,您需要检查用户名的唯一性,就像创建用户时发生的情况一样。
如果用户已登录并更改其用户名,您将需要强制他们注销并重新登录或重新发出 AuthenticationTicket cookie。原因是,如果他们更改用户名,则 authTicket cookie 存储的用户名和实际用户名不再匹配。如果您使用HttpContext.Identity.User.Name
查询数据存储或检查内容授权,您将不再返回任何结果,因为该用户名不再存在。