Rumah > Artikel > rangka kerja php > Cara thinkphp menetapkan pengesahan sesi pada setiap halaman
Dengan perkembangan pesat Internet, pembangun sentiasa meneroka teknologi dan rangka kerja baharu Salah satu rangka kerja yang paling popular ialah thinkphp. thinkphp ialah rangka kerja PHP yang cekap, pantas dan berprestasi tinggi yang boleh meningkatkan kecekapan semasa proses pembangunan dan juga mempunyai kebolehskalaan dan keterbukaan yang baik. Dalam rangka kerja thinkphp, sesi adalah bahagian yang sangat diperlukan, terutamanya dalam pengesahan log masuk pengguna dan pengesahan identiti. Artikel ini akan memperkenalkan cara menyediakan pengesahan sesi pada setiap halaman.
1. Menggunakan sesi dalam rangka kerja thinkphp
Sesi ialah teknologi yang digunakan untuk menyimpan maklumat sementara pengguna di tapak web. Dalam rangka kerja thinkphp, menggunakan sesi adalah sangat mudah Anda hanya perlu melaksanakan kod berikut:
session_start(); //开启session $_SESSION['key'] = 'value'; //设置session变量
Sudah tentu, anda juga boleh menggunakan kelas sesi yang disediakan dalam rangka kerja thinkphp untuk beroperasi adalah seperti berikut:
use think\facade\Session; Session::set('key', 'value');
2 Sahkan secara automatik sama ada sesi itu wujud
Untuk memastikan keselamatan sistem, kami perlu mengesahkan sama ada pengguna telah log masuk. Dalam rangka kerja thinkphp, anda boleh menggunakan mekanisme middleware untuk melakukan pengesahan sesi pada setiap halaman untuk mencapai pengesahan automatik. Kod khusus adalah seperti berikut:
namespace app\http\middleware; use Closure; use think\facade\Session; use think\exception\HttpException; class CheckLogin { public function handle($request, Closure $next) { if (!Session::has('user_id')) { throw new HttpException(401, '请先登录'); } return $next($request); } }
Dalam kod di atas, ruang nama mula-mula digunakan untuk menentukan lokasi di mana perisian tengah aplikasi tersuai digunakan, iaitu, dalam direktori "apphttpmiddleware". Dalam kaedah handle(), mula-mula tentukan sama ada pengguna dilog masuk dengan menentukan sama ada pembolehubah user_id wujud dalam sesi. Jika tiada log masuk, pengecualian HTTP akan dilemparkan untuk menggesa pengguna log masuk.
3. Menggunakan perisian tengah dalam Pengawal
Dalam rangka kerja thinkphp, anda boleh menambah semakan yang sepadan dengan memanggil perisian tengah dalam pembina Pengawal untuk mengesahkan sama ada pengguna log masuk secara normal. Kod khusus adalah seperti berikut:
namespace app\controller; use app\http\middleware\CheckLogin; use think\Controller; class Index extends Controller { protected $middleware = [ CheckLogin::class, ]; //index方法省略 }
Dalam kod di atas, ruang nama digunakan untuk definisi Kelas Pengawal mewarisi kelas induk dalam rangka kerja fikir dan mentakrifkan CheckLogin perisian tengah, yang bermaksud bahawa ia adalah. diperkenalkan dalam Perisian tengah CheckLogin dipasang untuk menyemak identiti log masuk pengguna.
Artikel ini terutamanya memperkenalkan penggunaan sesi dalam rangka kerja thinkphp untuk mengesahkan sama ada pengguna telah log masuk, dan cara menggunakan mekanisme middleware untuk mencapai pengesahan automatik setiap halaman. Jika anda ingin menguasai aplikasi sesi dengan mahir, anda masih memerlukan proses latihan dan pembelajaran yang panjang. Saya berharap artikel ini dapat memberikan pembaca sedikit bantuan dan rujukan dalam kajian dan amalan mereka.
Atas ialah kandungan terperinci Cara thinkphp menetapkan pengesahan sesi pada setiap halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!