इस कोड को बिना किसी अधिकृत उपयोगकर्ताओं के पृष्ठों की सुरक्षा के लिए पर्याप्त मार्ग के अंदर रखा जा रहा है?केवल पासपोर्टजे प्रमाणीकृत उपयोगकर्ताओं को सुरक्षित पृष्ठ पर जाने के लिए अनुमति दें
if (!req.user) return res.send(401, "Not allowed in");
इस कोड को बिना किसी अधिकृत उपयोगकर्ताओं के पृष्ठों की सुरक्षा के लिए पर्याप्त मार्ग के अंदर रखा जा रहा है?केवल पासपोर्टजे प्रमाणीकृत उपयोगकर्ताओं को सुरक्षित पृष्ठ पर जाने के लिए अनुमति दें
if (!req.user) return res.send(401, "Not allowed in");
आप req.isAuthenticated()
का उपयोग यह जांचने के लिए कर सकते हैं कि अनुरोध प्रमाणित है या नहीं।
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login')
}
app.get('/server', ensureAuthenticated, routes.server.get);
app.get('/login', routes.login.get);
या इस
app.all('*', function(req,res,next){
if (req.params === '/' || req.params === '/login')
next();
else
ensureAuthenticated(req,res,next);
});
यह तब तक पर्याप्त है जब तक आप कहीं भी मार्ग नहीं ले रहे हैं। बस सुनिश्चित करें कि आपके मार्ग उचित क्रम में हैं।
//checks to be sure users are authenticated
app.all("*", function(req, res, next){
if (!req.user)
res.send(403);
else
next();
});
//additional routes will require authentication due to the order of middleware
app.get("/admin", ....
हालांकि, यदि आप वैश्विक स्तर से ऊपर व्यवस्थापक मार्ग ले जाते हैं, तो व्यवस्थापक मार्ग अब सुरक्षित नहीं होगा। आप उद्देश्य से पहले अपना लॉगिन पेज रखना चाहते हैं, इसलिए उदाहरण के लिए प्रमाणीकरण की आवश्यकता नहीं है।
user568109 के जवाब के लिए एक सुधार की तरह, कोड एक्सप्रेस 4 के साथ इस तरह होना चाहिए:
app.all('*', function(req,res,next) {
if (req.path === '/' || req.path === '/login')
next();
else
ensureAuthenticated(req,res,next);
});
मसीह, भगवान का शुक्र है 'isAuthenticated()' है * * पूरी तरह से अनियंत्रित **। यह पुस्तकालय के पूरे बिंदु की तरह है। कुछ दिन मैं इस जेरेड हैंनसन लड़के को ढूंढने जा रहा हूं, उसके घर पर एक बड़े रबड़ के हाथ के साथ एक ड्रोन भेजो, और बस पासपोर्ट के साथ दुनिया को टोल करने के लिए उसे बार-बार मार डालो। धन्यवाद। –
आमेन! ठीक है दोस्त! @JasonC –