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

14 respostas Resolvido
laravel
C

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

D

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.

C

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?

C

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:

D

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

C

minha rota está assim…

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

D

Código do login

C
<?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');
    }

}
D

Tá aí redirectTo

Isso se não mudou o código internamente

C

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

D

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

C

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

D

Então não dá para saber.

C

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',
    ];
}
C
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