in Configurator/Core/Server/MySqlServerUser.cs [248:326]
public bool SetValues(ServerConfigurationController controller, ValueList values, out string msg)
{
msg = null;
if (values.Keys == null)
{
return false;
}
foreach (string key in values.Keys)
{
string lowerKey = key.ToLower();
switch (lowerKey)
{
case "user":
case "username":
Username = values[key].ToString();
break;
case "from_host":
case "host":
Host = values[key].ToString();
break;
case "role":
string lowerValue = values[key].ToString().ToLower();
UserRole = controller.RolesDefined.Roles.Find(name => name.ID.ToLower() == lowerValue);
if (UserRole == null)
{
msg = Properties.Resources.ServerUserRoleNotFound + values[key];
return false;
}
break;
case "authentication_plugin":
case "auth_plugin":
var authenticationPluginText = values[key].ToString();
MySqlAuthenticationPluginType authenticationPlugin;
var parsedFromInput = AuthenticationPlugin.TryParseFromDescription(authenticationPluginText, false, out authenticationPlugin);
if (parsedFromInput)
{
AuthenticationPlugin = authenticationPlugin;
}
if (AuthenticationPlugin == MySqlAuthenticationPluginType.None)
{
AuthenticationPlugin = controller.Settings.DefaultAuthenticationPlugin;
}
if (!parsedFromInput)
{
msg = Properties.Resources.ServerUserInvalidAuthenticationType + values[key];
return false;
}
break;
case "password":
case "pwd":
Password = values[key].ToString();
break;
case "windows_security_tokens":
case "win_sec_tokens":
case "tokens":
WindowsSecurityTokenList = values[key].ToString();
break;
case "type":
// Skip key type since it is only needed to identify a user block.
break;
default:
msg = Properties.Resources.ServerUserInvalidUserBlock + key;
return false;
}
}
return true;
}