Exemplo n.º 1
0
 public static MySqlAuthenticationPlugin GetPlugin(string method)
 {
     if (!AuthenticationPluginManager.plugins.ContainsKey(method))
     {
         throw new MySqlException(string.Format(Resources.AuthenticationMethodNotSupported, method));
     }
     return(AuthenticationPluginManager.CreatePlugin(method));
 }
        /// <summary>
        /// This is a factory method that is used only internally.  It creates an auth plugin based on the method type
        /// </summary>
        /// <param name="method"></param>
        /// <param name="flags"></param>
        /// <param name="settings"></param>
        /// <returns></returns>
        internal static MySqlAuthenticationPlugin GetPlugin(string method, NativeDriver driver, byte[] authData)
        {
            var plugin = AuthenticationPluginManager.GetPlugin(method);

            if (plugin == null)
            {
                throw new MySqlException(String.Format(Resources.UnknownAuthenticationMethod, method));
            }

            plugin.driver   = driver;
            plugin.AuthData = authData;
            return(plugin);
        }
        internal static MySqlAuthenticationPlugin GetPlugin(string method, NativeDriver driver, byte[] authData)
        {
            if (method == "mysql_old_password")
            {
                driver.Close(true);
                throw new MySqlException(Resources.OldPasswordsNotSupported);
            }
            MySqlAuthenticationPlugin plugin = AuthenticationPluginManager.GetPlugin(method);

            if (plugin == null)
            {
                throw new MySqlException(string.Format(Resources.UnknownAuthenticationMethod, method));
            }
            plugin.driver = driver;
            plugin.SetAuthData(authData);
            return(plugin);
        }