Node Js'de akıla takılan sorular

baliciyim

Megapat
Katılım
18 Aralık 2016
Mesajlar
113
Daha fazla  
Cinsiyet
Erkek
Herkese merhaba, direkt sorularımı sorayım.

1-) nodejs ile backend, vue ile front ent yazdım ama aklıma takılan nokta şu ben ekstra olarak admin paneli de yapmak istiyorum. Admin panelini de Vue'den yapmaya devam edersem olur ya da normal HTML veya handlebars ile admin paneli tasarlarsam o da olur hangisini yapmalıyım?

2-) jsonwebtoken ile GET şifreleyemedim mantıken anlatırsanız kodlayabilirim normalde post atarken şifre kontrol yapıyorum.
 
Son düzenleyen: Moderatör:
  1. Vue ile yazabilirsin admin panelini, ayrıyeten Handlebars gibi bir template engine kullanmana gerek yok. Lâkin, şöyle bir şey yapman gerekecek; kullanıcılara bir rol vermen gerekecek ve her sayfa yüklendiğinde kullanıcının rolünü kontrol edip, eğer talep edilen sayfa admin rolü gerektiyorsa ve kullanıcının rolü de admin ise, kullanıcıya bu sayfayı sunmalısın.

    Handlebars kullanırsan, ayrı bir endpoint'e bu paneli tanımlayabilirsin, fakat giriş ekranları da farklı olacaktır bu durumda.

    En temizi; kullanıcılara rol verip, admin panelini de Vue ile yapmak. Ben bunu tercih ediyorum.
  2. JWT kurgusu şu şekilde olur; bir adet endpoint'in olur login için. Eğer talep edilen email'e ait bir kullanıcı var ise ve gönderilen parola veritabanındaki parola ile eşleşiyorsa, bir token imzalayıp, kullanıcıya response olarak dönersin ve kullanıcı bunu tarayıcısının local storage'ına kaydeder.

    Bir adet de express middleware'in olur. Kullanıcı her atacağı istekte, Authorization Header'da, local storage'da kaydettiği token'i gönderir. Express middleware'in, gönderilen token'de bir sorun olup olmadığını kontrol eder (token geçerli bir token mi, secret doğru mu, imzada sorun var mı vs.). Eğer sorun yoksa, next() fonksiyonunu çağırırsın ve kullanıcının istek attığı endpoint'in controller fonksiyonu çalışır. Eğer token'de sorun varsa, next() fonksiyonunu çağırmak yerine, kullanıcıya response olarak hata dönersin (genelde status code da gönderilir, örneğin 403).
Express middleware hakkında bilgin yok ise, önce bunun ne olduğunu ve nasıl kullanıldığını araştırmanı öneririm. JWT kullanımı için de, npm sayfasını inceleyebilirsin.
 
  1. Vue ile yazabilirsin admin panelini, ayrıyeten handlebars gibi bir template Engine kullanmana gerek yok. Lâkin, şöyle bir şey yapman gerekecek; kullanıcılara bir rol vermen gerekecek ve her sayfa yüklendiğinde kullanıcının rolünü kontrol edip, eğer talep edilen sayfa admin rolü gerektiyorsa ve kullanıcının rolü de admin ise, kullanıcıya bu sayfayı sunmalısın.

    Handlebars kullanırsan, ayrı bir Endpoint'e bu paneli tanımlayabilirsin, fakat giriş ekranları da farklı olacaktır bu durumda.

    En temizi; kullanıcılara rol verip, admin panelini de vue ile yapmak. Ben bunu tercih ediyorum.
  2. Jwt kurgusu şu şekilde olur; bir adet Endpoint'in olur login için. Eğer talep edilen Email'e ait bir kullanıcı var ise ve gönderilen parola veritabanındaki parola ile eşleşiyorsa, bir token imzalayıp, kullanıcıya response olarak dönersin ve kullanıcı bunu tarayıcısının local Storage'ına kaydeder.

    Bir adet de Express Middleware'in olur. Kullanıcı her atacağı istekte, authorization Header'da, local Storage'da kaydettiği Token'i gönderir. Express Middleware'in, gönderilen Token'de bir sorun olup olmadığını kontrol eder (token geçerli bir token mi, secret doğru mu, imzada sorun var mı vs.). Eğer sorun yoksa, next() fonksiyonunu çağırırsın ve kullanıcının istek attığı Endpoint'in Controller fonksiyonu çalışır. Eğer Token'de sorun varsa, next() fonksiyonunu çağırmak yerine, kullanıcıya response olarak hata dönersin (genelde status code da gönderilir, örneğin 403).
Express middleware hakkında bilgin yok ise, önce bunun ne olduğunu ve nasıl kullanıldığını araştırmanı öneririm. JWT kullanımı için de, NPM sayfasını inceleyebilirsin.

Çok güzel anlatmışsın eline sağlık :) ben bile kendimi yeterli sanıyordum çok şeyi kafamda oturttun.
 
  1. Vue ile yazabilirsin admin panelini, ayrıyeten Handlebars gibi bir template engine kullanmana gerek yok. Lâkin, şöyle bir şey yapman gerekecek; kullanıcılara bir rol vermen gerekecek ve her sayfa yüklendiğinde kullanıcının rolünü kontrol edip, eğer talep edilen sayfa admin rolü gerektiyorsa ve kullanıcının rolü de admin ise, kullanıcıya bu sayfayı sunmalısın.

    Handlebars kullanırsan, ayrı bir endpoint'e bu paneli tanımlayabilirsin, fakat giriş ekranları da farklı olacaktır bu durumda.

    En temizi; kullanıcılara rol verip, admin panelini de Vue ile yapmak. Ben bunu tercih ediyorum.
  2. JWT kurgusu şu şekilde olur; bir adet endpoint'in olur login için. Eğer talep edilen email'e ait bir kullanıcı var ise ve gönderilen parola veritabanındaki parola ile eşleşiyorsa, bir token imzalayıp, kullanıcıya response olarak dönersin ve kullanıcı bunu tarayıcısının local storage'ına kaydeder.

    Bir adet de express middleware'in olur. Kullanıcı her atacağı istekte, Authorization Header'da, local storage'da kaydettiği token'i gönderir. Express middleware'in, gönderilen token'de bir sorun olup olmadığını kontrol eder (token geçerli bir token mi, secret doğru mu, imzada sorun var mı vs.). Eğer sorun yoksa, next() fonksiyonunu çağırırsın ve kullanıcının istek attığı endpoint'in controller fonksiyonu çalışır. Eğer token'de sorun varsa, next() fonksiyonunu çağırmak yerine, kullanıcıya response olarak hata dönersin (genelde status code da gönderilir, örneğin 403).
Express middleware hakkında bilgin yok ise, önce bunun ne olduğunu ve nasıl kullanıldığını araştırmanı öneririm. JWT kullanımı için de, npm sayfasını inceleyebilirsin.
Anladım, çok teşekkür ederim. Harbiden çok güzel anlatmışsınız :D
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı