มิดเดิลแวร์จะเป็นเรื่องง่าย ลองพิจารณาสถานการณ์นี้
ลองพิจารณาตัวอย่างประจำวันของมิดเดิลแวร์ที่จะตรวจสอบว่าผู้ใช้มีอายุถึงเกณฑ์ที่กฎหมายจะเข้าถึงเว็บไซต์ใดเว็บไซต์หนึ่งได้หรือไม่ 😜
ตอนนี้เพื่อจำกัดผู้ใช้ที่อายุต่ำกว่า 18 ปี เราสามารถคิดได้ว่าถ้าเรามีฟังก์ชันที่ดำเนินการเมื่อผู้ใช้ร้องขอสำหรับเว็บไซต์นั้น ๆ …
ที่นี่เมื่อมิดเดิลแวร์เข้ามา →
มาดูโค้ดสำหรับมิดเดิลแวร์ยืนยันอายุกัน: (ไม่ต้องกังวล เราจะเข้าใจโดยละเอียด ☺)
function ageVerificationMiddleware(req, res, next) { const age = req.query.age; // Assuming the age is provided in the query string if (age && parseInt(age) >= 18) { // User is of legal age, proceed to the next middleware or route handler next(); } else { // User is not of legal age, display an error message res.send('Sorry, you must be 18 years or older to access this website.'); } }
มาดูกันเลย →
ในตัวอย่างนี้ ฟังก์ชัน ageVerificationMiddleware
ถูกกำหนดให้เป็นมิดเดิลแวร์ ใช้พารามิเตอร์ req
(คำขอ), res
(ตอบกลับ) และ next
ภายในฟังก์ชันมิดเดิลแวร์ เราจะดึงอายุของผู้ใช้จากสตริงการสืบค้นโดยใช้ req.query.age
เราถือว่าระบุอายุเป็นพารามิเตอร์การค้นหา
จากนั้นเราจะตรวจสอบว่ามี age
อยู่หรือไม่และมากกว่าหรือเท่ากับ 18 หากตรงตามเงื่อนไข เราจะเรียก next()
เพื่อส่งการควบคุมไปยังมิดเดิลแวร์หรือตัวจัดการเส้นทางถัดไป
หากไม่ได้ระบุอายุของผู้ใช้หรือน้อยกว่า 18 ปี เราจะส่งข้อความแสดงข้อผิดพลาดไปยังผู้ใช้โดยใช้ res.send()
โดยระบุว่าผู้ใช้จะต้องมีอายุ 18 ปีขึ้นไปจึงจะสามารถเข้าถึงเว็บไซต์ได้
ดังนั้นเราจึงได้เขียนมิดเดิลแวร์ ตอนนี้เมื่อผู้ใช้ร้องขอ ฟังก์ชั่นนี้ควรจะถูกเรียก มาดูกันว่าเราจะนำไปใช้ได้อย่างไร
หากต้องการใช้มิดเดิลแวร์การยืนยันอายุนี้ คุณสามารถเพิ่มลงในเส้นทางเฉพาะหรือใช้ทั่วโลกโดยใช้ app.use()
:
app.use(ageVerificationMiddleware); app.get('/restricted-page', (req, res) => { // Route handler logic for the restricted page res.send('Welcome to the restricted page!'); });
ในโค้ดด้านบน ageVerificationMiddleware
จะถูกนำไปใช้ทั่วโลกโดยใช้ app.use()
มันจะถูกดำเนินการสำหรับทุกคำขอที่เข้ามา และหากผู้ใช้ยังไม่บรรลุนิติภาวะ พวกเขาจะได้รับข้อความแสดงข้อผิดพลาด หากผู้ใช้มีอายุถึงเกณฑ์ที่กฎหมายกำหนด การควบคุมจะถูกส่งไปยังมิดเดิลแวร์หรือตัวจัดการเส้นทางที่ตามมา
การใช้มิดเดิลแวร์การยืนยันอายุนี้ช่วยให้เรามั่นใจได้ว่าผู้ใช้มีอายุถึงเกณฑ์ที่กฎหมายกำหนดก่อนที่จะอนุญาตให้พวกเขาเข้าถึงส่วนใดส่วนหนึ่งของเว็บไซต์หรือแอปพลิเคชันของคุณ
ขอบคุณที่อ่านครับ😃