Laravel - Autentificação de login e senha [RESOLVIDO]

14 respostas Resolvido
laravel
Cleiton_Conceicao

gente, eu mudei a tela de login e senha padrão do laravel. porém ao digitar a senha corretamente o laravel não sai da tela de login.
Achei muito confuso a forma de autentificação do laravel. alguém poderia me fornecer um passo a passo de onde devo configurar para redirecionar a minha página após a autentificação?

a tela de login q eu criei é essa…

@extends('layouts.app')

@section('content')

        <div class="container"><!--Início do Container-->
            <div class="d-flex justify-content-center h-100">
                <div class="card">
                    <div class="card-header">
                        <h3>Sistema de Gestão para Psicólogos</h3>
                    </div>
                    <div class="card-body">

                    <form  method="POST" action="{{ route('login') }}"><!--Início do form-->
                    @csrf
                        <div class="input-group form-group">
                            <div class="input-group-prepend">
                                <span class="input-group-text"><i class="fas fa-user"></i></span>
                            </div>
                            <input onkeypress="DefinirBgUsuario()" type="text" class="form-control" id="usuario" name="usuario" placeholder="Usuário">
                        </div>
                        <div class="input-group form-group">
                            <div class="input-group-prepend">
                                <span class="input-group-text"><i class="fas fa-key"></i></span>
                            </div>  
                            <input onkeypress="DefinirBgSenha()" type="password" class="form-control"  id="senha" name="senha" placeholder="Senha">
                        </div>
                        <div class="form-group">
                            <input id="btn" type="submit" value="Entrar" onclick="ValidarLogin()" class="btn float-right btn-primary">
                        </div>
                    </form><!--Fim do form-->


                    </div>
                    <div class="card-footer">
                        <div class="d-flex justify-content-center links">
                            <a href="#">Esqueceu a sua senha?</a>
                        </div>
                    </div>
            </div>
        </div>
    </div><!--Fim do Container-->

    <!-- Início do Modal -->
        <div class="modal fade" id="modalRegistraDespesa" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
          <div class="modal-dialog" role="document">
            <div class="modal-content">
              <div id="modal_titulo_div">
                <h5 class="modal-title" id="modal_titulo"></h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                  <span aria-hidden="true">&times;</span>
                </button>
              </div>
              <div class="modal-body" id="modal_conteudo"></div>
              <div class="modal-footer">
                <button type="button" data-dismiss="modal" id="modal_btn">Voltar</button>
              </div>
            </div>
          </div>
        </div>
        <!-- Fim do Modal -->
        
    <footer ><!--Início do Footer-->
        <span id="texto">&copy; Copyright todos os direitos reservados</span>
    </footer><!--Fim do Footer-->
@endsection

14 Respostas

Dragoon

A única pessoa que pode mudar é você, veja, você mudou a característica do framework e isso ninguém faz todo mundo que conheço usa assim, porque, é um padrão bem feito e elaborado por eles. No máximo é colocado campos adicionais na tabela users que pode também ser feito o login por eles.

O passo a passo está na documentação do Laravel e você deveria seguir e li que mudou até o algoritmo de embaralhamento da senha ou removeu, porque e pra que abrir a segurança do seu projeto?

Outro porém você não posta o seu código que não redireciona como a gente pode ajudar, colocou view isso é um parte cade a parte do servidor, mas, mesmo assim eu não recomendo fazer o que você fez sem ter conhecimento prévio.

Cleiton_Conceicao

eu preciso mudar pois a validação não será pelo email e sim pelo login.
e fora que o cadastro do usuário não será feito por qualquer um e sim pelo admin do sistema.
vc sabe onde eu posso trocar para q a autenticação não seja pelo email e sim pelo login?

Cleiton_Conceicao

consegui alterar de email parar usuário. segui a documentação
https://laravel.com/docs/5.7/authentication

porém não estou conseguindo redirecionar a página para o dashboard do sistema. :confused:

Dragoon

Se eu pelos menos tivesse código para analisar seria talvez mais fácil

Cleiton_Conceicao

minha rota está assim…

Auth::routes();
Route::get(’/dashboard’, ‘HomeController@index’);

Dragoon

Código do login

Cleiton_Conceicao
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
        protected $redirectTo = '/usuario';
    /**
     * Create a new controller instance.
     *
     * @return void
     */

    public function username()
    {
        return 'usr_login';
    }

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

}
Dragoon

Tá aí redirectTo

Isso se não mudou o código internamente

Cleiton_Conceicao

eu li em outro forum que tinha que fazer isso para redirecionar para outra página.
mas não faz nada.

Dragoon

Difícil reproduzir seu problema, já testou em vários navegadores?

Cleiton_Conceicao

já, não mudei quase nada, mudei apenas a view e adicionei mais colunas a tabela e mesmo assim não redireciona. :slight_smile:

Dragoon

Então não dá para saber.

Cleiton_Conceicao

vou deixar todo o código aqui para ver se alguém consegue me ajudar…apesar de q não alterei quase nada.

//minhas rotas
Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

//minha migrate
<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{ 
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('usr_login');
            $table->string('name');
            $table->string('email');
            $table->string('password');
            $table->rememberToken();
            $table->string('usr_perfil');            
            $table->integer('usr_acesso_dashboard');
            $table->integer('usr_acesso_cadastro_pessoas');
            $table->integer('usr_acesso_cadasto_gerais');
            $table->integer('usr_acesso_relatorios');
            $table->integer('usr_acesso_prontuario');
            $table->integer('usr_acesso_configuracoes');
            $table->integer('usr_acesso_cadusuarios');
            $table->integer('usr_ativo');
            $table->integer('usr_acesso_consultas');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}


//logincontroller
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
       protected $redirectTo = '/home';
    /**
     * Create a new controller instance.
     *
     * @return void
     */

    public function username()
    {
        return 'usr_login';
    }

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

}


// model

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */ 
    protected $fillable = [
        'name', 'email', 'password','usr_login','usr_perfil',
        'usr_acesso_dashboard','usr_acesso_cadastro_pessoas','usr_acesso_cadasto_gerais',
        'usr_acesso_relatorios','usr_acesso_prontuario','usr_acesso_configuracoes','usr_acesso_cadusuarios','usr_ativo','usr_acesso_consultas'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}
Cleiton_Conceicao
Solucao aceita

Eu executei novamente o php artisan make:auth para poder restaurar as configurações da rotina de login. fui indo alterando com bastante atenção e dessa vez funcionou.
uffa!obrigado pela ajuda!

Criado 9 de março de 2019
Ultima resposta 11 de mar. de 2019
Respostas 14
Participantes 2