Olá Galera, sou novo aqui e estou iniciando com desenvolvimento e estou travado com uma aplicação que estou tentando desenvolver. Existe uma aplicação que usa uma base de dados já estruturada a qual não posso alterar, comecei a desenvolver uma aplicação que ira interagir com esta base e com os dados que possui e informar alguns dados também as views que fazem esta interação já estão ok, logo parti para parte de login e autenticação, como a base não pode ser alterada, realizei alguns ajustes para usar a tabela que a base já possui com os dados de login. Foi onde me deparei com a seguinte situação aparentemente a aplicação faz a busca e comparação corretamente, porem quando uso o redirecionamento para a próxima view a sessão não é persistida. testei algumas coisas para tentar entender oque eu não fiz ou onde estou errando. Buscando o mais simples no controller do login, fiz a logica para autenticar desta forma:
class LoginController extends Controller{
public function login()
{
return view('auth.login');
}
public function autenticar(Request $request){
$dados = $request->all();
$EMAIL= $dados['EMAIL'];
$senha= $dados['SENHA'];
try{
$vendedor = Vendedor::where('EMAIL',$EMAIL)->first();
if($vendedor!=null){
$senhaEncrypt=bcrypt($vendedor->SENHA);
if(Auth::check()||($vendedor && Hash::check($senha,$vendedor->SENHA))){
Auth::login($vendedor);
//return redirect(route('PaginaPrincipal'));
return view('PaginaPrincipal');
}else{
$erroMsm='Senha Inválida.';
return response()->view('auth.login',['error' =>$erroMsm]);
}
}else{
$erroMsm='Usuário Inválido.';
return response()->view('auth.login',['error' =>$erroMsm]);
}
}catch(Exception $e){
$erroMsm='Não Foi possível acessar o sistema, contate o administrador.';
return response()->view('auth.login',['error' =>$erroMsm]);
}
}
}
o retorno é FALSE quando uso return view () o retorno e TRUE.
o que resulta que o consigo proteger a rota ... vou compartilhar os demais código e quem puder me dar uma luz por favor eu agradeço demais
Route:: get('/',[LoginController::class,'login'])->name('login');
Route:: post('/autenticar',[LoginController::class,'autenticar'])->name('autenticar');
Route::middleware(['auth'])->group(function(){
Route:: get('/PaginaPrincipal',[SitePublicoController::class,'paginaPrincipal'])->name('PaginaPrincipal');
});
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Vendedor extends Authenticatable
{
use HasFactory, Notifiable;
// Defina a tabela correspondente ao modelo
protected $table = 'vendedor';
// Defina os campos que podem ser atribuídos em massa
protected $fillable = [
'NOME', 'EMAIL', 'SENHA','usuario_PARAMetro',
];
// Oculta os campos sensíveis, como a senha, ao serializar o modelo
protected $hidden = [
'SENHA',
];
public function getAuthPassword()
{
return $this->SENHA;
}
}