* Add "reset user password" command to standalone region console
* Grid user server implementation to follow shortly0.6.0-stable
parent
bf8b70ebeb
commit
6d289c3ae0
|
@ -256,6 +256,18 @@ namespace OpenSim.Framework.Communications
|
|||
return userProf.ID;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset a user password
|
||||
/// </summary>
|
||||
/// <param name="firstName"></param>
|
||||
/// <param name="lastName"></param>
|
||||
/// <param name="newPassword"></param>
|
||||
/// <returns>true if the update was successful, false otherwise</returns>
|
||||
public bool ResetUserPassword(string firstName, string lastName, string newPassword)
|
||||
{
|
||||
return m_userService.ResetUserPassword(firstName, lastName, newPassword);
|
||||
}
|
||||
|
||||
#region Friend Methods
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace OpenSim.Framework.Communications
|
|||
UserProfileData SetupMasterUser(UUID userId);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Add a new user profile
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
UUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
|
||||
|
@ -71,6 +71,15 @@ namespace OpenSim.Framework.Communications
|
|||
/// via a call to GetUserProfile().</param>
|
||||
/// <returns>true if the update could be applied, false if it could not be applied.</returns>
|
||||
bool UpdateUserProfile(UserProfileData data);
|
||||
|
||||
/// <summary>
|
||||
/// Reset a user password
|
||||
/// </summary>
|
||||
/// <param name="firstName"></param>
|
||||
/// <param name="lastName"></param>
|
||||
/// <param name="newPassword"></param>
|
||||
/// <returns>true if the update was successful, false otherwise</returns>
|
||||
bool ResetUserPassword(string firstName, string lastName, string newPassword);
|
||||
|
||||
/// <summary>
|
||||
/// Adds a new friend to the database for XUser
|
||||
|
|
|
@ -361,8 +361,6 @@ namespace OpenSim.Framework.Communications
|
|||
/// <param name="request">The users loginrequest</param>
|
||||
public void CreateAgent(UserProfileData profile, XmlRpcRequest request)
|
||||
{
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
||||
UserAgentData agent = new UserAgentData();
|
||||
|
||||
// User connection
|
||||
|
@ -574,6 +572,33 @@ namespace OpenSim.Framework.Communications
|
|||
|
||||
return user.ID;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset a user password
|
||||
/// </summary>
|
||||
/// <param name="firstName"></param>
|
||||
/// <param name="lastName"></param>
|
||||
/// <param name="newPassword"></param>
|
||||
/// <returns>true if the update was successful, false otherwise</returns>
|
||||
public bool ResetUserPassword(string firstName, string lastName, string newPassword)
|
||||
{
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(newPassword) + ":" + String.Empty);
|
||||
|
||||
UserProfileData profile = GetUserProfile(firstName, lastName);
|
||||
|
||||
if (null == profile)
|
||||
{
|
||||
m_log.ErrorFormat("[USERSTORAGE]: Could not find user {0} {1}", firstName, lastName);
|
||||
return false;
|
||||
}
|
||||
|
||||
profile.PasswordHash = md5PasswdHash;
|
||||
profile.PasswordSalt = String.Empty;
|
||||
|
||||
UpdateUserProfile(profile);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool UpdateUserProfileProperties(UserProfileData UserProfile)
|
||||
{
|
||||
|
|
|
@ -283,6 +283,7 @@ namespace OpenSim
|
|||
{
|
||||
m_console.Notice("");
|
||||
m_console.Notice("create user - adds a new user.");
|
||||
m_console.Notice("reset user password - reset a user's password.");
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -493,6 +494,10 @@ namespace OpenSim
|
|||
m_commsManager.AddInventoryService(cmdparams[0]);
|
||||
}
|
||||
break;
|
||||
|
||||
case "reset":
|
||||
Reset(cmdparams);
|
||||
break;
|
||||
|
||||
default:
|
||||
string[] tmpPluginArgs = new string[cmdparams.Length + 1];
|
||||
|
@ -543,6 +548,30 @@ namespace OpenSim
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute switch for some of the reset commands
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
protected void Reset(string[] args)
|
||||
{
|
||||
if (args.Length == 0)
|
||||
return;
|
||||
|
||||
switch (args[0])
|
||||
{
|
||||
case "user":
|
||||
|
||||
switch (args[1])
|
||||
{
|
||||
case "password":
|
||||
ResetUserPassword(args);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Turn on some debugging values for OpenSim.
|
||||
|
@ -650,6 +679,7 @@ namespace OpenSim
|
|||
{
|
||||
m_console.Notice("");
|
||||
m_console.Notice("create user - adds a new user.");
|
||||
m_console.Notice("reset user password - reset a user's password.");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -769,6 +799,31 @@ namespace OpenSim
|
|||
m_log.ErrorFormat("[CONSOLE]: A user with the name {0} {1} already exists!", firstName, lastName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset a user password.
|
||||
/// </summary>
|
||||
/// <param name="cmdparams"></param>
|
||||
private void ResetUserPassword(string[] cmdparams)
|
||||
{
|
||||
string firstName;
|
||||
string lastName;
|
||||
string newPassword;
|
||||
|
||||
if (cmdparams.Length < 3)
|
||||
firstName = MainConsole.Instance.CmdPrompt("First name");
|
||||
else firstName = cmdparams[2];
|
||||
|
||||
if ( cmdparams.Length < 4 )
|
||||
lastName = MainConsole.Instance.CmdPrompt("Last name");
|
||||
else lastName = cmdparams[3];
|
||||
|
||||
if ( cmdparams.Length < 5 )
|
||||
newPassword = MainConsole.Instance.PasswdPrompt("New password");
|
||||
else newPassword = cmdparams[4];
|
||||
|
||||
m_commsManager.ResetUserPassword(firstName, lastName, newPassword);
|
||||
}
|
||||
|
||||
protected void SaveXml(string[] cmdparams)
|
||||
{
|
||||
|
|
|
@ -469,6 +469,11 @@ namespace OpenSim.Region.Communications.OGS1
|
|||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
public bool ResetUserPassword(string firstName, string lastName, string newPassword)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
// TODO
|
||||
public bool UpdateUserProfile(UserProfileData data)
|
||||
|
|
Loading…
Reference in New Issue