Devise customizado

Olá galera, estou usando Devise num projeto, porém preciso de umas customizações para ele, são elas:

  1. não permitir criar novo usuário se nenhum usuário estiver logado. Obrigatoriamente, apenas um usuário que já existe no meu sistema poderá criar outro.

  2. preciso de uma consulta personalizada na hora do login, por exemplo, para considerar o atributo ?active? do model User.

  3. criei um controller Users, que estende de Devise::RegistrationsController, mas quero um método ?index? que liste todos os usuários. Tentei adicionar no routes.rb a linha ?resouces :users, :only => [:index]?, além da linha padrão do devise_for ?, porém recebo uma exception do Devise: ?Could not find devise mapping for path ?/users?. This may happen for two reasons??.

Alguém pode ajudar com essas questões?