Url ứng dụng Laravel sẽ có dạng như app.laravel.com\{clientName}
. Tất cả các tuyến đường sẽ theo sau client_name
, ví dụ: app.laravel.com\{clientName}\home
, app.laravel.com\{clientName}\profile
. Sẽ tải/hiển thị ứng dụng phụ thuộc vào clientName
.Đường dẫn phiên thay đổi ứng dụng Laravel động
routes/web.php
Route::group(['prefix' => '{clientName}', 'middleware' => 'appclient'], function() {
Route::get('/', '[email protected]');
Route::post('login', 'Auth\[email protected]');
Route::post('logout', 'Auth\[email protected]');
Route::get('home', '[email protected]');
});
Trong appclient
middleware
public function handle($request, Closure $next) {
$clientName = explode('/', $request->path())[0];
$client = Client::where('clientName', $clientName)->first();
if(!isset($client->id)) {
abort(404);
}
Config::set('session.path', "/$clientName");
return $next($request);
}
Những gì tôi đang cố gắng để đạt được thiết lập phiên dựa trên thư mục clientName
. Khi tôi đăng nhập, tôi nhận được TokenMismatchException.
Câu hỏi đầu tiên
Tôi có thể lưu trữ các phiên dựa trên url với thư mục như app.laravel.com\{clientName}
?
Second Câu hỏi
tôi thấy có một thiết session.path
, những gì ở trên tôi đã cố gắng là sử dụng phương pháp đó. Nếu có thể, tôi có thể khắc phục vấn đề này như thế nào? Bạn có nên cập nhật đường dẫn phiên trong phần mềm trung gian không?
Đánh giá cao bất kỳ phản hồi hay khác tiếp cận
CẬP NHẬT
- Sử dụng
Redis
như lái xe phiên - Trong nghiên cứu thêm tôi token yêu cầu phiên mỗi khi tạo mới một