Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang tutorial php 前后端分离的框架中,未认证跳转是怎么做的呢?

前后端分离的框架中,未认证跳转是怎么做的呢?

Oct 22, 2016 am 12:14 AM
php php-fpm

在前后端分离的框架中,一般通过nginx的配置将后端的请求去后端对应的目录,然后前端的请求去找前端对应的目录。现在刚好碰到一个认证条状的功能,要实现的就是每个请求发过来不管是前端请求还是后端请求,先判断有没有登录,没有登录就跳转到登录首页。
1。一般认证判断是后端做的事情,页面跳转是前端做的事情,这两个步骤怎么给他结合起来呢。

  1. 前后端不分离的时候一般是在框架初始化的时候置一个钩子,判断有没有登录,没有登录就跳转。

  2. 我想分离后的方案应该是,后端依然对每个请求进行认证判断,只返回不跳转。 然后前端框架模块初始化都先请求下认证接口,如果认证未通过就跳转到登录页面。

麻烦有经验的友友,给下分离场景下这个认证该怎么做的意见哈。

回复内容:

在前后端分离的框架中,一般通过nginx的配置将后端的请求去后端对应的目录,然后前端的请求去找前端对应的目录。现在刚好碰到一个认证条状的功能,要实现的就是每个请求发过来不管是前端请求还是后端请求,先判断有没有登录,没有登录就跳转到登录首页。
1。一般认证判断是后端做的事情,页面跳转是前端做的事情,这两个步骤怎么给他结合起来呢。

  1. 前后端不分离的时候一般是在框架初始化的时候置一个钩子,判断有没有登录,没有登录就跳转。

  2. 我想分离后的方案应该是,后端依然对每个请求进行认证判断,只返回不跳转。 然后前端框架模块初始化都先请求下认证接口,如果认证未通过就跳转到登录页面。

麻烦有经验的友友,给下分离场景下这个认证该怎么做的意见哈。

前台端分离一般都是用json传输,假如是Json可以这样做。
验证成功时返回:{code:"成功",data:"要取的数据",info:null},
验证失败时返回:{code:"失败",data:null,info:"没有访问权限"}
前端用接收后自己判断code值,至于跳不跳转那就是前端自己的事咯。

我实现的方式是:

前端登录后,保存后端生成的token(后端可以用JWTredismysql保存,前端保存在localstoragecookie)。

前端每次请求需授权(登录)接口,判断token是否有效(包含是否过期),如果无效返回403,以及错误信息。前端使用一个Service基类(例如AdminService catch 403的异常,如果捕获到,路由到登录页面),或者写一个全局的过滤器,捕获403

前后端分离就在前端缓存一个登录状态,然后每次请求的时候带上这个状态码,后台判断是否过期,差不多就这样了

很简单吖,譬如说后台的项目,后台我们都知道只能登陆成功之后才能进入系统把,那么整个时候是怎么做认证的呢?

  1. 后端对所有过来的请求都做过滤,验证用户有没有登陆,如果又就继续不管他,如果没有登陆就让他直接跳转到登陆页面

  2. 对于前台来说,每一个路由跳转也要进行验证,比如:打开某一个页面之前向后台发送一个ajax用来验证,如果登陆显示页面如果没有就跳转到登陆页面

  3. 怎么验证,用户没有登陆成功的情况下,浏览器不写入cookie,登录成功之后就把用户的cookie保存到浏览器,用户的session保存到服务器,浏览器的cookie就是session的key

我们公司最近做前后端完全分离。具体办法很简单,比如有需要登录验证的页面,前端会直接请求后端。后端判断是否登录,如果登录了返回状态statussuccess,外加数据啥的。如果没有登录直接返回一个固定的状态,就是statusfail_401

如果该页面没有什么可以获取的数据,我们直接给个通用接口,进入页面就请求下接口,如果通过就留在当前页面,如果未通过就直接跳转。

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles