Curso web2py

Função User

O web2py providencia toda as páginas de interação básicas com o usuário, que podem ser acessadas pela função user. Essa função gera uma página diferente dependendo do argumento que recebe. Por exemplo, a página de login pode ser acessada por http://localhost:8000/seuapp/default/user/login.

A função user vem definida no controller default da aplicação welcome como:

def user():
    """
    exposes:
    http://..../[app]/default/user/login
    http://..../[app]/default/user/logout
    http://..../[app]/default/user/register
    http://..../[app]/default/user/profile
    http://..../[app]/default/user/retrieve_password
    http://..../[app]/default/user/change_password
    http://..../[app]/default/user/manage_users (requires membership in
    use @auth.requires_login()
        @auth.requires_membership('group name')
        @auth.requires_permission('read','table name',record_id)
    to decorate functions that need access control
    """
    return dict(form=auth())

Cada URL do comentário da função apresenta uma página de usuário disponível. Além disso, o retorno é sempre um formulário definido pela função auth(). Essa função lê o argumento da página user e, a partir disso, gera um formulário específico baseado nas tabelas de usuário criadas previamente. Dessa forma, quando for chamada a página de login, a função auth() gerará um formulário de login, quando for chamada a página de registro, gerará um formulário de registro e assim por diante.

Confira a lista das principais páginas de usuário:

  • register: formulário de registro de usuários;
  • login: formulário de login para usuários registrados;
  • logout: realiza o logout do usuário logado;
  • profile: formulário de edição dos dados de registro do usuário;
  • change_password: formulário seguro de troca de senha;
  • verify_email: caso a verificação de email esteja ativada, o link de verificação contido no e-mail aponta para essa url;
  • retrieve_username: caso estejam habilitados nomes de usuário, permite a recuperação do nome de usuário;
  • request_reset_password: requisição de troca de senha por e-mail, para aqueles que esqueceram a senha.