Önceki yazılarda, Laravel’i kurma, CRUD işlemleri, temel rotalar ve ilişkiler gibi temel kavramları inceledik. Bu yazıda ise Laravel’de kimlik doğrulamayı nasıl kullanacağımıza bakacağız.
Kimlik Doğrulama Nedir?
Kimlik doğrulama, bir kullanıcının kim olduğunu doğrulama ve uygulamaya erişim yetkisini kontrol etme işlemidir. Laravel, kullanıcıların kimlik doğrulamasını ve oturum yönetimini kolaylaştıran birçok araç ve özellik sunar.
Blog Uygulaması Örneği:
Blog uygulamamızda kullanıcıların kayıt olması, giriş yapması ve çıkış yapması için kimlik doğrulama sistemini kullanacağız.
1. Kurulum:
Laravel, laravel/ui
paketini kullanarak kimlik doğrulama sistemini kolayca kurabilirsiniz:
composer require laravel/ui
php artisan ui vue --auth
Bu komut, app/Providers/AuthServiceProvider.php
dosyasına gerekli ayarları ekleyecek ve resources/views/auth
klasöründe kimlik doğrulama ile ilgili görünümleri oluşturacaktır.
2. Kullanıcı Kayıt:
RegisterController.php
dosyasında register
yöntemini kullanarak kullanıcı kaydı işlemini gerçekleştirebilirsiniz:
PHP
public function register(Request $request)
{
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
Auth::login($user);
return redirect('/home');
}
3. Kullanıcı Giriş:
LoginController.php
dosyasında authenticate
yöntemini kullanarak kullanıcı giriş işlemini gerçekleştirebilirsiniz:
PHP
public function authenticate(Request $request)
{
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
return redirect('/home');
}
return redirect()->back()->withErrors(['email' => 'The provided credentials do not match our records.']);
}
4. Kullanıcı Çıkış:
Auth::logout()
fonksiyonunu kullanarak kullanıcıların çıkış yapmasını sağlayabilirsiniz:
PHP
Route::get('/logout', function () {
Auth::logout();
return redirect('/');
});
5. Rota Koruma:
Belirli rotalara sadece giriş yapmış kullanıcıların erişmesine izin vermek için auth
middleware’ini kullanabilirsiniz:
PHP
Route::get('/home', 'HomeController@index')->middleware('auth');
Sonuç:
Bu yazıda, Laravel’de kimlik doğrulamayı nasıl kullanacağımıza dair temel bilgileri inceledik. Blog uygulaması örneği üzerinden kullanıcı kayıt, giriş ve çıkış işlemlerini adım adım ele alarak, Laravel’in sunduğu kimlik doğrulama araçlarının avantajlarını deneyimledik.
Ek Açıklama:
Yetkilendirme ve Middleware Kullanımı
Laravel, yetkilendirme işlemleri için Gate
ve Policy
sınıflarını sunar. Bu mekanizmalar, kullanıcıların uygulamanızda belirli işlemleri yapma yetkilerinin olup olmadığını kontrol etmenizi sağlar.
Ayrıca, middleware’ler aracılığıyla rotalara erişimi kısıtlayabilirsiniz. Örneğin, sadece kayıtlı kullanıcıların blog postu ekleyebilmesini istiyorsanız, PostController
‘ın constructor metoduna auth
middleware’ini ekleyebilirsiniz:
public function __construct() { $this->middleware(‘auth’); }
Bu, PostController
‘daki tüm işlemler için kullanıcı girişi yapmış olma zorunluluğu ekler. İsterseniz, belirli metodlar için middleware’i sınırlandırabilir veya hariç tutabilirsiniz.
Ek Kaynaklar:
- Laravel Resmi Dokümantasyonu: https://laravel.com/docs/10.x
- Laravel Türkiye Topluluğu: https://laravel.gen.tr/
Bu blog yazı serisinde, Laravel’in temel özelliklerini ve kullanımını detaylı bir şekilde inceleyeceğiz. Takipte kalın!