user.can_* non controllano più che ruolo sia != nil in quanto è un errore grave, meglio alzare una exception