<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
function sayHello()
{
return "
Hello everyone
";
//or return view
//return view("ViewName")
}
}
Web.php
//permet d'ajouter les routes de l'authentification
// login ,/register
Auth::routes();
//sécurisé la route /test
Route::get("/test",[TestController::class,'sayHello'])->name("testroute")->middleware('auth');
Sécurisé plusieurs routes
//... just pour infos
Route::middleware(['auth'])->group(function () {
Route::get('/cours/create', [CoursController::class, 'create'])->name('cours.create');
Route::post('/cours', [CoursController::class, 'store'])->name('cours.store');
Route::get('/cours/{cours}/edit', [CoursController::class, 'edit'])->name('cours.edit');
});
Example d'utilisation :au niveau des fonctions:
TestController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
//importer l'objet Auth (gère l'authentification)
use Illuminate\Support\Facades\Auth;
class TestController extends Controller
{
function sayGoodBy()
{
$auth=Auth();
//vérifier s'il est connecté
if (Auth::check()) {
// User is authenticated
return "GoodBye you're connected";
}
else
{
//soit on fait des traitement
// return "You must connect to view the content";
//soit on demande l'authenfication
return redirect("/login");
}
}
function sayHello()
{
return "Hello everyone";
//or return view
//return view("ViewName")
}
}
function showView()
{
return view("myView");
}
//déconnexion
function logout()
{
$auth=Auth();
$auth->logout();
return redirect("/login");
}
myView.blade.php
<div>
<h1>public content</h1>
<p>This is a public content anyone can read it</p>
</div>
@guest
<h1> ou on peut utiliser guest pour un contenu pour les users n'ont connecté SEULEMENT</h1>
@endguest
@auth
<div>
<h1>private Content</h1>
<p>This section is visible only to the connected uers</p>
</div>
@endauth