PFVManager beta – Geranciador de Vouchers
o PFVManager é um gerenciador de voucher desenvolvido para trabalhar em conjunto com o sistema de vouchers do pfSense. Esta é uma versão beta e qualquer sugestões ou informações de bugs são bem vindas. Abaixo o passo-a-passo para baixar e instalar o software.
Requisitos:
- PHP 5.5 (ou mais recente)
- Apache ou outro servidor Web que rode PHP
- Módulo cURL no PHP
- Git
Instalação:
- No seu servidor Web, crie uma pasta onde será instalado o software e baixa o mesmo via Git
$ mkdir vouchers $ cd vouchers $ git clone https://git.jonis.com.br/pfvmanager.git .
- Copie o arquivo de configuração de exemplo
$ cp config.php.example config.php
- Edite o arquivo config.php e personalizei conforme suas necessidades. Dois itens de maior importância nesse arquivo de configuração são: $cp_url e $cp_pwd. Essas variáveis definem o endereço do seu pfSense e a senha de acesso do arquivo ‘cp.php’. No arquivo config.php você também define qual o tipo de autenticação será usado. No pacote padrão, existe o arquivo ‘basic_auth.php’ que é um sistema simples de autenticação. Esse arquivo utiliza uma array (também no arquivo config.php) para especificar os usuários e suas senhas. Veja mais abaixo como criar o seu sistema próprio de autenticação.
- Edite o arquivo ‘cp.php’, defina a constante ‘SECRET_KEY’ e envie esse arquivo para o seu servidor pfSense, salvando o mesmo na pasta /usr/local/www
- Pronto! Acesse seu servidor Web na pasta criada e você verá a tela de login. Utilize o login ‘123’ e senha ‘test123’ para testes iniciais.
Para reportar problemas ou sugestões de melhorias, acesso o site do projeto: https://projetos.jonis.com.br.
Algumas observações: o sistema todo funciona diretamente com o pfSense, sem utilizar banco de dados. O campo de expiração será utilizado futuramente por um script (que será publicado no site do projeto) que será o responsável por apagar os vouchers vencidos. Essa funcionalidade ainda não esta disponivel. O script foi desenvolvido em português, porém esta preparado para aceitar múltiplos idiomas. Na pasta ‘locale/en/LC_MESSAGES/’ existe o arquivo ‘pfvmanager.po’. Caso queira traduzir o sistema para o seu idioma, utiliza esse arquivo e me envie o arquivo traduzido que irei inserir o mesmo no repositório.
Caso você deseje desenvolver o seu próprio sistema de autenticação, é bem simples. Você deve criar um arquivo php com o seu código de autenticação/verificação e registrar as variáveis de sessão necessárias para o sistema. Assim que o usuário autenticar com sucesso, o seu arquivo PHP deve criar a variáveis de sessão chamada “$_SESSION[‘user][‘id’]” contendo o código (id, de preferencia numérico) do usuário. Quando o usuário é desligado do sistemas (logof), essa sessão é apagada. Outras variáveis de sessão utilizadas pelo sistema são:
- $_SESSION[‘user’][‘name’] = Nome do usuário (string)
- $_SESSION[‘user’][‘id]’ = ID do usuário (login) (integer)
- $_SESSION[‘user’][‘admin’] = Se o usuário é admin ou não (boolean)
- $_SESSION[‘user’][‘max_events’] = Número máximo de eventos que o usuário pode criar. Desconsiderado se for admin.
- $_SESSION[‘user’][‘max_vouchers_event’] = Número máximo de vouchers por evento. Desconsiderado se for admin.
Você pode utilizar o arquivo ‘basic_auth.php’ como exemplo para desenvolver o seu sistema de autenticação. E por último: o software é de uso livre, desde que você mantenha os créditos no código-fonte e no rodapé 😉
Deixe um comentário