Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Pengesahan Khusus Laluan di Negroni dengan Httprouter?

Bagaimana untuk Melaksanakan Pengesahan Khusus Laluan di Negroni dengan Httprouter?

Susan Sarandon
Lepaskan: 2024-10-24 08:39:42
asal
419 orang telah melayarinya

How to Implement Route-Specific Authentication in Negroni with Httprouter?

Pengesahan Khusus Laluan di Negroni dengan Httprouter

Apabila melaksanakan pengesahan pengguna dalam aplikasi web, selalunya perlu mengecualikan laluan tertentu daripada memerlukan kebenaran. Artikel ini meneroka cara untuk mencapai pengesahan khusus laluan menggunakan Negroni dengan Httprouter.

Pernyataan Masalah

Pelayan web menggunakan Httprouter dan Negroni, dengan pengesahan pengguna dikendalikan oleh OAuth. Token disimpan dalam sesi yang disulitkan, dan perisian tengah digunakan untuk mengesahkan kewujudan token. Walau bagaimanapun, beberapa laluan, seperti halaman log masuk, harus memintas perisian tengah pengesahan ini. Cabarannya terletak pada mengecualikan laluan tertentu daripada middleware tanpa menjejaskan kebolehskalaan.

Penyelesaian

Untuk mencipta middleware khusus laluan, kuncinya ialah mencipta contoh Negroni yang berasingan untuk setiap laluan. Ini membenarkan kawalan berbutir ke atas perisian tengah yang digunakan untuk setiap titik akhir.

Sebagai contoh, pertimbangkan coretan kod berikut:

router := httprouter.New()
router.Handler("GET", "/login",
               negroni.New(negroni.HandlerFunc(loginHandler)))
router.Handler("GET", "/",
               negroni.New(authenticator.Get(),
               negroni.HandlerFunc(indexHandler)))

server := negroni.Classic()
server.UseHandler(router)
server.Use(sessions.Sessions("example-web-dev",
           cookiestore.New([]byte("some secret"))))
server.Run(":3000")
Salin selepas log masuk

Dalam contoh ini, /login menggunakan tika Negroni yang berasingan tanpa perisian tengah pengesahan, manakala / menggunakan kedua-dua sesi dan perisian tengah pengesahan. Dengan menggunakan berbilang kejadian Negroni, pengesahan khusus laluan boleh dicapai dengan berkesan dan berskala.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan Khusus Laluan di Negroni dengan Httprouter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan