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 "/".
<code class="go">router := httprouter.New()</code>
<code class="go">loginHandler := negroni.New(negroni.HandlerFunc(loginHandler)) indexHandler := negroni.New(authenticator.Get(), negroni.HandlerFunc(indexHandler))</code>
<code class="go">router.Handler("GET", "/login", loginHandler) router.Handler("GET", "/", indexHandler)</code>
<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!