Skip to content

Autenticando o usuário

Bjverde edited this page Nov 29, 2018 · 14 revisions

Esse capitulo trata da autenticação do usuário ou verificação da sua identidade. Mais informações na Wikipedia

Autenticando via senha em banco

É forma mais comum de autenticar um usuário é via banco de dados. Na Aplicação de exemplo v2.5 do FormDin apresenta um exemplo completamente funcional.

Criando o banco de dados

No seu banco de dados crie uma tabela com no mínimo dois campos

  • usuário:
  • senha: recomendo no mínimo varchar de 200

As senhas de cada usuário deve ser criptografada utilizando password_hash

Alterando o index.php

No index.php da raiz da sua aplicação deverá incluir as linhas abaixo.

$app->setLoginFile('includes/tela_login.php');
$login = ArrayHelper::get( $_SESSION[APLICATIVO],'LOGIN');
$app->setLoginInfo($login);

Depois de informado o setLoginFile o formDin sabe que só pode carregar um modulo se tiver um usuários logado. Mesmo o carregamento via parâmetro GET só funciona se tiver um usuário logado.

Verificando a senha

No arquivo tela login deverá chamar a classe de negócio "Acesso.class.php"

   public static function login( $login_user, $pwd_user )	{
	$user = Acesso_userDAO::selectByLogin($login_user);
        if (password_verify($pwd_user, $user['PWD_USER'][0])) {
            $_SESSION[APLICATIVO]['IDUSER'] = $user['IDUSER'][0];
            $_SESSION[APLICATIVO]['LOGIN']  = $user['LOGIN_USER'][0];
            $msg = 1;
        }else{
            $msg = 'Login Invalido !';
        }
        return $msg;
    }

Autenticando via LDAP / Basic Authentication

O que é Basic Authentication ?

Ambiente Windows

Usando o WAMP. Para configurar a autenticação deve ser realizado os seguintes passos:

  1. Habilitar os módulos abaixo. Click esquerdo no wamp > Apache 2.4.X > Apache Modules. ATENÇÃO não edite o httpd.conf via Editor
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so

Debian

  1. sudo a2enmod ldap authnz_ldap

Arquivo .htaccess

Criar um arquivo com o nome .htaccess dentro da pasta da sua aplicação, com o seguinte conteúdo:

  
   AuthName "Informe o seu usuário e senha"
   AuthBasicProvider ldap
   AuthType basic
   AuthLDAPURL "ldap://SERVIDOR/OU=Usuarios,DC=br?sAMAccountName?sub"
   AuthLDAPBindDN "CN=anoncvs,OU=Usuarios,DC=br"
   AuthLDAPBindPassword anoncvs
   AuthLDAPBindAuthoritative off
   LDAPReferrals off
   Require valid-user

Ambiente com Autenticação por Arquivo

Pode ser útil em alguns casos no qual o comportamento do sistema está vinculado a um usuário específico. Por exemplo, um determinado erro só acontece para o usuário X. Para essa situação é possível que a aplicação seja autenticada por um arquivo de senhas.

Para configurar a autenticação basta seguir os seguintes passos:

  1. Criar um arquivo com o nome .htaccess com o seguinte conteúdo
 AuthType Basic
 AuthName "Zona Restrita"
 AuthUserFile /.htpasswd
 Require valid-user
 Options FollowSymLinks Indexes
  1. Criar arquivo .htpasswd e colocar os logins e senhas no seguinte formato.
 tiago.costa:123
 lucivaldo.costa:123

Atenção:

  • o <caminho_aplicacao_servidor> não deve conter espaços em branco.
  • Exemplo de caminho valido no Windows com Wamp 3.1.0 "D:/wamp/www/autenticacao_arquivo/.htpasswd"

Fontes:

Próxima etapa ?

14 - Relatórios em PDF

Clone this wiki locally