Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Laravel 5.4 LOGIN

Estas en el tema de Laravel 5.4 LOGIN en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy empezando con login y me gustaría saber si esta bien realizado el login o me estoy saltando cosas fundamentales de laravel. 1. Porque es ...
  #1 (permalink)  
Antiguo 28/07/2017, 10:02
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Laravel 5.4 LOGIN

Estoy empezando con login y me gustaría saber si esta bien realizado el login o me estoy saltando cosas fundamentales de laravel.

1.
Porque es obligatorio el uso de los campos updated_at, created_at, remember_token en la base de dato.

2.
Controlador:
Código PHP:
Ver original
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Auth;
  4.  
  5. use App\User;
  6. use App\Http\Controllers\Controller;
  7. use Validator;
  8. use Illuminate\Http\Request;
  9. use Auth;
  10.  
  11. class AuthController extends Controller{
  12.  
  13.     public function logout(){
  14.         Auth::logout();
  15.         return redirect('/')->with('logout','Desconectado correctamente!!!');
  16.     }
  17.     public function login1(Request $request){
  18.         if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
  19.             return redirect()->intended('/');
  20.         }else{
  21.           return back()->with("status","Fallido");
  22.         }
  23.     }
  24.     public function register1(Request $request){
  25.         $validacion = Validator::make(
  26.           $request->all(),
  27.           [
  28.               'nombre' => 'required|min:3|max:12|regex:/^[a-z]+$/i',
  29.           ],
  30.           [
  31.               'nombre.required' => 'El campo nombre es requerido',
  32.               'nombre.min' => 'El mínimo permitido son 3 caracteres',
  33.               'nombre.max' => 'El máximo permitido son 12 caracteres',
  34.               'nombre.regex' => 'Sólo se aceptan letras',
  35.           ]
  36.         );
  37.  
  38.         if($validacion->fails()){
  39.             return back()->withErrors($validacion->errors(), 'register')->withInput();
  40.         }else{
  41.              User::create([
  42.                 'nombre' => $request->nombre,
  43.                 'email' => $request->email,
  44.                 'password' => bcrypt($request->password),
  45.              ]);
  46.              Auth::attempt(['email' => $request->email, 'password' => $request->password]);
  47.              return redirect()->intended('/');
  48.        }
  49.     }
  50. }

Router:
Código PHP:
Ver original
  1. <?php
  2. //Logout
  3. Route::get('/logout', "Auth\AuthController@logout")->middleware('auth');
  4.  
  5. //Login
  6. Route::get('/login', function(){
  7.     return view('login');
  8.     })->middleware('guest');
  9. Route::post('/login', "Auth\AuthController@login1")->middleware('guest');
  10.  
  11. //Register
  12. Route::get('/register', function(){
  13.     return view('register');
  14.     })->middleware('guest');
  15. Route::post('/register', "Auth\AuthController@register1")->middleware('guest');
  16.  
  17.  
  18. Route::get('/', function () {
  19.     return view('welcome');
  20. });
  #2 (permalink)  
Antiguo 28/07/2017, 10:54
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Laravel 5.4 LOGIN

Hola String me gustaria saber si estas usando el modelo por defecto que viene con Laravel ? de ser así no requieres hacer mucho ya que Laravel ya viene con login, registro y recuperación de contraseña.

Seria bueno que explicaras que es lo que requieres hacer exactamente.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 28/07/2017, 11:21
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Laravel 5.4 LOGIN

Cita:
Iniciado por hhs Ver Mensaje
Hola String me gustaria saber si estas usando el modelo por defecto que viene con Laravel ? de ser así no requieres hacer mucho ya que Laravel ya viene con login, registro y recuperación de contraseña.

Seria bueno que explicaras que es lo que requieres hacer exactamente.
No, no lo estoy usando puesto que no he encontrado la manera para poder modificar los mensajes de error en el registro(Nombre con mas de x caracteres) y demas cosas por lo cual he optado por la opción de creaelo yo todo para hacerlo mas flexible.

Saludos!
  #4 (permalink)  
Antiguo 28/07/2017, 15:34
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Laravel 5.4 LOGIN

Los mensajes de error puedes traducirlos desde

resources
- lang
-- en
--- validation.php

Ya sea que uses ese mismo folder o copies su contenido y crees un nuevo folder como por ejemplo "es" para español"
  #5 (permalink)  
Antiguo 28/07/2017, 20:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Laravel 5.4 LOGIN

Cita:
No, no lo estoy usando puesto que no he encontrado la manera para poder modificar los mensajes de error en el registro(Nombre con mas de x caracteres) y demas cosas por lo cual he optado por la opción de crearlo yo todo para hacerlo mas flexible.
El login de laravel es muy flexible no es necesario que hagas uno nuevo para la mayoría de los casos.
Los mensajes en español de las validaciones los puedes descargar de esta liga https://github.com/caouecs/Laravel-lang o de este otro proyecto https://github.com/Laraveles/lang-spanish con eso no es necesario que intentes traducir las validaciones y otros mensajes que usa el Login de laravel
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 29/07/2017, 04:11
 
Fecha de Ingreso: septiembre-2013
Mensajes: 125
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Laravel 5.4 LOGIN

Cita:
Iniciado por hhs Ver Mensaje
El login de laravel es muy flexible no es necesario que hagas uno nuevo para la mayoría de los casos.
Los mensajes en español de las validaciones los puedes descargar de esta liga https://github.com/caouecs/Laravel-lang o de este otro proyecto https://github.com/Laraveles/lang-spanish con eso no es necesario que intentes traducir las validaciones y otros mensajes que usa el Login de laravel
Otro inconveniente es modificar las routers http://localhost:8000/register y http://localhost:8000/login.

Hay alguna manera de modificarlos?
  #7 (permalink)  
Antiguo 29/07/2017, 19:32
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Laravel 5.4 LOGIN

Si usaste el scaffold y requieres tener más control de las rutas, en el archivo routes/web.php cambia
Código PHP:
Ver original
  1. Auth::routes()
por las rutas
Código PHP:
Ver original
  1. // Authentication Routes...
  2. Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
  3. Route::post('login', 'Auth\LoginController@login');
  4. Route::post('logout', 'Auth\LoginController@logout')->name('logout');
  5. // Registration Routes...
  6. Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
  7. Route::post('register', 'Auth\RegisterController@register');
  8. // Password Reset Routes...
  9. Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
  10. Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
  11. Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
  12. Route::post('password/reset', 'Auth\ResetPasswordController@reset');
Con eso ya puedes modificar las rutas
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: laravel, login, nombre, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.