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