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

Bagaimana untuk Melaksanakan Middleware Khusus Laluan Skala dengan Negroni?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 08:18:30789semak imbas

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>
  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>
  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>
  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>

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!

Kenyataan:
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