我想更改当前登录用户的用户名(以编程方式),而无需在执行此操作后将用户注销。
这是我使用的方法代码
public void ChangeUsername(int userId, string newEmailAddress)
{
UserController.ChangeUsername(userId, newEmailAddress);
}
每次我更改任何用户的用户名时,用户都必须在更新完成后再次登录。如何防止这种行为?
我想更改当前登录用户的用户名(以编程方式),而无需在执行此操作后将用户注销。
这是我使用的方法代码
public void ChangeUsername(int userId, string newEmailAddress)
{
UserController.ChangeUsername(userId, newEmailAddress);
}
每次我更改任何用户的用户名时,用户都必须在更新完成后再次登录。如何防止这种行为?
在成功更改用户名后,您可以通过以编程方式登录用户来更改用户名,而无需强制用户重新登录。
//Change the username
UserController.ChangeUsername(userId, email);
//Stay logged in despite username change
var userAfterChange = UserController.GetUserById(PortalSettings.PortalId, userId);
UserController.UserLogin(PortalSettings.PortalId, userAfterChange, PortalSettings.PortalName, userAfterChange.LastIPAddress, false);
通过使用 UserInfo 类,您将获得当前登录的 userInfo,获取 userId,然后更新用户名。
var userInfo = UserInfo;
UserController.ChangeUsername(userInfo.UserID, txtNewEmail.Text.Trim());
通过这种方式,您可以更改当前登录用户的用户名。