Cara menggunakan sesi untuk melaksanakan log masuk dan log keluar pengguna dalam rangka kerja Slim
Pengenalan:
Sessions ialah teknologi yang biasa digunakan dalam aplikasi web Ia boleh digunakan untuk menyimpan dan mengurus data berkaitan pengguna, seperti status log masuk pengguna. dll. Sebagai rangka kerja PHP yang ringan, rangka kerja Slim menyediakan API mudah untuk mengendalikan sesi. Artikel ini akan memperkenalkan cara menggunakan sesi dalam rangka kerja Slim untuk melaksanakan fungsi log masuk dan log keluar pengguna.
Pasang rangka kerja Slim
Mula-mula, kita perlu memasang rangka kerja Slim dalam persekitaran PHP. Ia boleh dipasang melalui Composer, laksanakan arahan berikut:
composer require slim/slim
Cipta aplikasi Slim
Buat fail PHP baharu, seperti index.php, dan kemudian perkenalkan fail autoloading rangka kerja Slim dan komponen sesi ke dalam fail:
require 'vendor/autoload.php'; use SlimSlim; use SlimMiddlewareSession; // 创建Slim应用 $app = new Slim(); // 启用会话中间件 $app->add(new Session());
$app->post('/login', function () use ($app) { $request = $app->request; $username = $request->params('username'); $password = $request->params('password'); // 验证用户名和密码 if ($username === 'admin' && $password === 'password') { // 将用户ID存储在会话中 $app->session->set('user_id', 1); $app->response->setStatus(200); $app->response()->write('Login success'); } else { $app->response->setStatus(401); $app->response()->write('Login failed'); } });
$app->get('/logout', function () use ($app) { // 清除会话中的用户ID $app->session->delete('user_id'); $app->response->setStatus(200); $app->response()->write('Logout success'); });
// 自定义鉴权中间件 $authMiddleware = function ($route) use ($app) { // 检查会话中是否存在用户ID if (!$app->session->get('user_id')) { $app->response->setStatus(401); $app->response->write('Unauthorized'); return; } // 用户已登录,继续执行下一个中间件或路由处理程序 $route->run(); }; // 在需要验证用户登录的路由中使用中间件 $app->get('/protected', function () use ($app) { $app->response->write('Protected route'); })->add($authMiddleware);
Mulakan aplikasi
Akhir sekali, kita perlu memulakan aplikasi Slim di hujung fail:
$app->run();
Selepas menjalankan aplikasi, anda boleh log masuk dengan mengakses /log masuk, log keluar dengan mengakses /log keluar , dan / dilindungi untuk menguji laluan yang dilindungi.
Ringkasan:
Melalui API ringkas yang disediakan oleh rangka kerja Slim, kami boleh menggunakan sesi dengan mudah untuk melaksanakan fungsi log masuk dan log keluar pengguna. Dengan cara ini, kami boleh mengurus data berkaitan pengguna dengan lebih baik dan meningkatkan pengalaman pengguna serta keselamatan aplikasi web. Saya harap artikel ini akan membantu anda tentang cara menggunakan sesi untuk melaksanakan log masuk dan log keluar dalam rangka kerja Slim.
Atas ialah kandungan terperinci Cara menggunakan sesi untuk melaksanakan log masuk dan log keluar pengguna dalam rangka kerja Slim. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!