Expressjs’te Session Stores Kullanımı

Selim KURT
2 min readMar 13, 2024

--

Expressjs’in sunduğu özelliklerden biri session yönetimidır. Bir kullanıcının oturum durumunu izlemek ve korumak için kullanılır. Expressjs’te session yönetimi, session stores adı verilen yerel veya uzak depolama yerlerinde oturum verilerini saklamaktır.

Session Stores Nedir?

Session stores, Expressjs uygulamalarında oturum verilerini saklamak için kullanılan depolama mekanizmasıdır. Bu depolama mekanizmaları, kullanıcı oturumlarını kimlik doğrulaması, oturum durumunu koruma ve kullanıcı etkileşimlerini takip etme gibi çeşitli amaçlar için kullanılmaktadır.Expressjs’te session stores genellikle cookie bazlı veya veritabanı bazlı olabilir.

Express.js’te Session Stores Kullanımı

Expressjs’te session stores kullanarak oturum yönetimini başlatmak oldukça basittir. Öncelikle, Expressjs uygulamanızda express-session modülünü yüklemeniz gerekir. Bu modül, oturum yönetimi için gerekli olan tüm işlevleri sağlamaktadır.

const express = require('express');
const session = require('express-session');
const app = express();

app.use(session({
secret: 'gizli_bir_anahtar',
resave: false,
saveUninitialized: true,
}));

Yukarıdaki kod , Expressjs uygulamanızda oturum yönetimini başlatmak için gereken temel ayarları barındırmaktadır. Secret anahtarı, oturum verilerini şifrelemek için kullanılır ve güvenliği sağlar. Resave ve saveUninitialized seçenekleri, oturum yönetimini yapılandırmak için kullanılır.

Oturum Verilerini Saklamak

Expressjs’te oturum verilerini saklamak için session nesnesine erişebiliriz. Bu nesne, her istek için benzersiz bir oturum kimliği oluşturur ve bu kimliğini istekler arasında tutar.

app.get('/', (req, res) => {
if (req.session.views) {
req.session.views++;
res.send(`Sayfa görüntülenme sayısı: ${req.session.views}`);
} else {
req.session.views = 1;
res.send('Hoş geldiniz!');
}
});

Yukarıdaki kod, her istek için bir sayfa görüntülenme sayısını izler ve oturum verilerini kullanır.

Oturum Verilerini Silme

Expressjs’te oturum verilerini silmek için session.destroy() yöntemini kullanabiliriz.

app.get('/logout', (req, res) => {
req.session.destroy((err) => {
if (err) {
console.error(err);
} else {
res.redirect('/');
}
});
});

Yukarıdaki kod, oturumu sonlandırır ve kullanıcıyı ana sayfaya yönlendirir.

Expressjs’te session stores kullanarak oturum yönetimi oldukça basittir. Bu yöntem, kullanıcıların oturum durumunu izlemek, kimlik doğrulamasını sağlamak ve güvenlik önlemlerini uygulamak için etkili bir yol sağlar. Expressjs’in sunduğu bu özellikler sayesinde web uygulamaları daha güvenli ve kullanıcı dostu hale gelir.

Okuduğunuz için teşekkürler

Her zaman gelişmek için yer olduğunu anlıyorum. Lütfen düşüncelerinizi paylaşmaktan çekinmeyin.

--

--

Selim KURT

Software Developer - Mobile & Web Developer #react #reactnative #nextjs #frontend #digitaltransformation #javascript