Bonjour,
Je suis debutant avec Laravel, j'ai crée un systeme d'inscription et il marche bien avec le cryptage de mot de passe mais le probleme c'est dans l'Authentication pour creer un session pour un utilisateur. Voila mon code :
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Requests\StoreUser;
use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
class RegisterController extends Controller
{
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*
*/
public function register()
{
return view('Auth/register');
}
/**
* @param StoreUser $request
* @return string
*/
public function store(StoreUser $request)
{
$user = new User();
$data = $request->only(['nom', 'prenom', 'email']);
$data['password'] = bcrypt($request->password);
$user->fill($data);
$user->save();
// Cette ligne suivante n'a aucun message d'erreur aucun effet sur l'application
Auth::login($user);
return redirect('/');
}
}
J'ai pas d'erreurs pour comprendre de quoi il s'agit je suis bloqué.
Le code de l'Entity User
<?php
namespace App;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Model implements Authenticatable
{
protected $fillable = [
'nom', 'prenom', 'email', 'password', 'created_at', 'updated_at'
];
/**
* Get the name of the unique identifier for the user.
*
* @return string
*/
public
function getAuthIdentifierName()
{
return 'email';
}
/**
* Get the unique identifier for the user.
*
* @return mixed
*/
public
function getAuthIdentifier()
{
return $this->getAttribute('email');
}
/**
* Get the password for the user.
*
* @return string
*/
public
function getAuthPassword()
{
return $this->getAttribute('password');
}
/**
* Get the token value for the "remember me" session.
*
* @return string
*/
public
function getRememberToken()
{
return null;
}
/**
* Set the token value for the "remember me" session.
*
* @param string $value
* @return void
*/
public
function setRememberToken($value)
{
return null;
}
/**
* Get the column name for the "remember me" token.
*
* @return string
*/
public
function getRememberTokenName()
{
return null;
}
}
c'est la que je crois que j'ai mis un erreur mais l'application est silencieuse.
Je veut une solution ou remarque sur mon code.
Et merci d'avance
Bonjour,
Sinon, une autre méthode est de le faire via attempt :
Auth::attempt($request->only(['email', 'password']));
Normalement ça devrait fonctionner
Ou sinon peut-être :
Auth::loginUsingId($user->id);
Mais je ne vois pas le soucis avec le Auth::login :/
bonjour,
Ca ne marche pas.
J'ai crée un autre projet mais j'ai utilisé l'authentication fournit par défaut elle marche tres bien. le soucis c'est je veut creer le systeme manuallement.
j'ai essayé tout les méthode sans resultat.
par rapport la configuration dans config/auth.php, j'ai laissé ça par defaut je crois que je devrai adapté ça non.
aussi j'ai essayé de connecté par une fonction login mais sans resultat le meme probleme.
le grand probleme c'est que je ne vois pas des erreurs c'est bizard :(
en tous cas merci a vous .
Salut, tu peux voir ce tuto https://www.grafikart.fr/tutoriels/laravel/confirmation-compte-824 ça pourai t'aider.
Hello,
Vérifie que t'es routes sont bien dans le middleware 'web', et que dans ton "HTTP/Kernel.php" le middleware " \Illuminate\Session\Middleware\StartSession::class" a bien été chargé dans ce dernier.
Salut,
la class est charger par defaut dans web mais je sais pas pour quoi ne marche pas j'ai laissé ce projet a côte mais je vais trouvé le couci ;)
pour le moment je cherche, teste mais sans resultat.
en tous cas merci.
InvalidArgumentException in UrlGenerator.php line 304:
Route [login] not defined.
j ai une prblm au niveau du route et j c pa quoi et comment faire
Route::get('salut', function () {
return 'salut les gens';
});
Route::get('salut/{slug}-{id}', ['as'=>'salut' ,function ($slug,$id) {
return "lien: /salut/slug-$id";
}])
->where('name', '[a-z 0-9\-]*')
->where('id', '[0-9]*');
Route::get('/', function () {
return view('welcome');
salut,
donc tu n'as pas defini une route pour le login .
example :
Route::get('/login', 'AuthController@login')->name('login')
je voix dans ton code tu utilise des closure pas des controller c'est mieux d'utiliser des controllers pour separer la logique.