Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Middleware Khusus Laluan Skala dengan Negroni?

Bagaimana untuk Melaksanakan Middleware Khusus Laluan Skala dengan Negroni?

Mary-Kate Olsen
Lepaskan: 2024-10-24 08:18:30
asal
874 orang telah melayarinya

How to Implement Scalable Route-Specific Middleware with Negroni?

Perisian Tengah Khusus Laluan dengan Negroni: Pendekatan Boleh Skala

Dalam pembangunan web menggunakan Negroni dan httprouter, keperluan untuk menggunakan perisian tengah secara selektif kepada pelbagai laluan sering timbul. Untuk mencapai matlamat ini, adalah perlu untuk memahami konsep perisian tengah khusus laluan.

Apabila berurusan dengan berbilang laluan, menggunakan semakan pengesahan pada laluan tertentu sambil mengecualikan yang lain memberikan cabaran. Ini benar terutamanya apabila menggunakan Negroni, rangka kerja pengendalian permintaan yang berkuasa. Dalam konteks ini, kami akan meneroka pendekatan berskala untuk menggunakan middleware secara selektif pada laluan.

Melaksanakan Middlewares Khusus Laluan

Untuk melaksanakan middleware khusus laluan dengan Negroni, kami boleh memanfaatkan keupayaan untuk mencipta berbilang contoh Negroni. Dalam contoh yang disediakan, kami mempunyai perisian tengah pengesahan dalam authenticator.Get() yang kami mahu gunakan hanya pada laluan "/".

  1. Langkah 1: Buat tika penghala baharu untuk setiap laluan.
<code class="go">router := httprouter.New()</code>
Salin selepas log masuk
  1. Langkah 2: Buat kejadian Negroni untuk setiap laluan.
<code class="go">loginHandler := negroni.New(negroni.HandlerFunc(loginHandler))
indexHandler := negroni.New(authenticator.Get(), negroni.HandlerFunc(indexHandler))</code>
Salin selepas log masuk
  1. Langkah 3: Tambahkan laluan ke penghala dengan contoh Negroni yang sepadan.
<code class="go">router.Handler("GET", "/login", loginHandler)
router.Handler("GET", "/", indexHandler)</code>
Salin selepas log masuk
  1. Langkah 4: Buat pelayan dan gunakan penghala sebagai pengendali.
<code class="go">server := negroni.Classic()
server.UseHandler(router)
server.Use(sessions.Sessions("example-web-dev", cookiestore.New([]byte("some secret"))))</code>
Salin selepas log masuk

Dengan pendekatan ini, kami menggunakan perisian tengah pengesahan dengan berkesan hanya pada laluan "/". Untuk mencapai kebolehskalaan untuk berbilang laluan awam dan persendirian, cuma buat kejadian Negroni yang berasingan dan tambahkannya pada penghala dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Middleware Khusus Laluan Skala dengan Negroni?. 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