React & PHP Login Control
Merhabalar, benim sorudan ziyade bir mantık tavsiyesi almam gerek. Biliyorsunuz ki php tarafında kullanıcının login olup olmadığını anlayabiliyoruz. Peki bunu react & php ile proje geliştirirken nasıl yapabiliriz.
Örnek: React ile bir üye dashboardı yapıyoruz, /login /register /home urileri var. Login olan biri /login ve /register'e girememeli login olmayan kişi ise /home'a girememeli.
Merhaba, bunun için protectedRouter oluşturabilirsin. Örneğin
import { Navigate, Outlet } from "react-router-dom";
const useAuth = () => {
const token = JSON.parse(localStorage.getItem("token"));
if (token) {
return true;
} else return false;
};
export const PrivateRouter = () => {
return useAuth() ? <Outlet /> : <Navigate to="/uye-giris" replace />;
};
bu kodu örneğini çoğaltabilirsin ve istenilen route a girişi engelleyebilirsin. Burada localStorage'dan token kontrolu yapıp eğer varsa istenilen Outlet sayfasına, eğer yoksa login sayfasına yönlendirmesi yapılıyor.
Kullanmak için de AppRouterında alttaki satırı ekleyebilirsin örnek olarak.
<Route path="/" element={<PrivateRouter />}>
<Route path="/profilim" element={<ProfilePage />} />
</Route>