Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método RoleProvider.GetRolesForUser (String)

 

Publicado: octubre de 2016

Obtiene una lista de los roles en los que está incluido el usuario especificado para el applicationName configurado.

Espacio de nombres:   System.Web.Security
Ensamblado:  System.Web.ApplicationServices (en System.Web.ApplicationServices.dll)

public abstract string[] GetRolesForUser(
	string username
)

Parámetros

username
Type: System.String

Usuario del que se va a devolver una lista de roles.

Valor devuelto

Type: System.String[]

Matriz de cadenas que contiene los nombres de todos los roles en los que está incluido el usuario especificado para el applicationName especificado.

GetRolesForUser es llamado por el GetRolesForUser método de la Roles clase para recuperar los nombres de función que está asociado el usuario especificado del origen de datos. Sólo las funciones de configurado ApplicationName se recuperan.

Si no existe ninguna función para el usuario especificado para el applicationName, se recomienda que el proveedor devuelva una matriz de cadenas sin elementos.

Si el nombre de usuario especificado es null o es una cadena vacía, se recomienda que el proveedor produzca una excepción.

En el ejemplo de código siguiente se muestra una implementación de ejemplo de la GetRolesForUser (método).

public override string[] GetRolesForUser(string username)
{
  if (username == null || username == "")
    throw new ProviderException("User name cannot be empty or null.");

  string tmpRoleNames = "";

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT Rolename FROM UsersInRoles "  +
                                    " WHERE Username = ? AND ApplicationName = ?", conn);

  cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  OdbcDataReader reader = null;

  try
  {
    conn.Open();

    reader = cmd.ExecuteReader();

    while (reader.Read())
    {
      tmpRoleNames += reader.GetString(0) + ",";
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }
    conn.Close();      
  }

  if (tmpRoleNames.Length > 0)
  {
    // Remove trailing comma.
    tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);
    return tmpRoleNames.Split(',');
  }

  return new string[0];
}

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: