Al iniciar sesión, quiero verificar un origen de datos de terceros (tabla en la base de datos) para un usuario, y si se encuentra, quiero agregar un rol a ese usuario.
No quiero adivinar la eliminación del rol, quiero obtenerlo del nombre del rol.
Esto es bastante sencillo con user_roles () y array_search () . A continuación se muestra una función que devolverá la ID de rol si hay un rol que coincida con el nombre y FALSO de lo contrario.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
Un revestimiento sería:
$rid = array_search('administrator', user_roles());
Conociendo el nombre de la máquina del rol, es suficiente para usar
user_role_load_by_name()
.Si el rol podría no existir ...
fuente
La mejor manera de identificar el rol y su id es desde SQL. Ejecute esta consulta en su editor de SQL.
Y obtendrá la lista de Roles, incluida la identificación y el peso.
fuente