Làm cách nào để đăng xuất php trên các thiết bị khác?

Tham gia bản tin của tôi

Được đăng ban đầu @ https. // mã và triển khai. com truy cập và tải xuống mã mẫu. https. // mã và triển khai. com/blog/laravel/laravel-8-logout-other-devices-after-login

Trong bài đăng này, tôi sẽ chia sẻ một phương pháp hiệu quả được cung cấp bởi Laravel 8 về cách đăng xuất các thiết bị khác sau khi đăng nhập. Nếu bạn đang phát triển dự án Laravel có giới hạn đăng ký cho người dùng và chỉ được phép đăng nhập vào một thiết bị tại một thời điểm thì chúng tôi phải thực hiện phương pháp này

Nếu bạn sử dụng phương thức đăng nhập mặc định của Laravel thì hãy làm theo các bước bên dưới

Đầu tiên, trong LoginController của bạn, chúng tôi có một phương thức tên là login(). Xem mã ví dụ bên dưới

/**
* Handle account login request
* 
* @param LoginRequest $request
* 
* @return \Illuminate\Http\Response
*/
public function login(LoginRequest $request)
{
    $credentials = $request->getCredentials();

    if(!Auth::validate($credentials)):
        return redirect()->to('login')
             ->withErrors(trans('auth.failed'));
    endif;

    $user = Auth::getProvider()->retrieveByCredentials($credentials);

    Auth::login($user, $request->get('remember'));

    if($request->get('remember')):
        $this->setRememberMeExpiration($user);
    endif;

    return $this->authenticated($request, $user);
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Như bạn có thể thấy trong ví dụ của tôi, chúng tôi đã trả lại phương thức authenticated() sau khi không có lỗi ở trên các mã

Sau đó, chúng ta nên có một phương thức authenticated() trong LoginController của mình, Xem ví dụ bên dưới

/**
* Handle response after user authenticated
* 
* @param Request $request
* @param Auth $user
* 
* @return \Illuminate\Http\Response
*/
protected function authenticated(Request $request, $user) 
{   
    Auth::logoutOtherDevices($request('password'));

    return redirect()->intended();
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Như bạn có thể thấy tôi đã thêm Auth. logoutOtherDevices() với tham số là mật khẩu. Để chúng tôi có thể kích hoạt đăng xuất khỏi các thiết bị đang hoạt động khác

Tôi hy vọng hướng dẫn này có thể giúp bạn. Vui lòng truy cập tại đây https. // mã và triển khai. com/blog/laravel/laravel-8-logout-other-devices-after-login nếu bạn muốn tải mã này

Làm cách nào để đăng xuất khỏi tất cả các thiết bị trong PHP?

Điều này sẽ kết thúc tất cả các phiên từ tất cả người dùng. .
tôi không muốn xóa tất cả phiên. .
@Ali Akbar, tôi đã chỉnh sửa nhận xét của mình

Làm cách nào tôi có thể đăng xuất khỏi trang PHP?

Cách đơn giản nhất để đăng xuất và chuyển hướng trở lại trang đăng nhập hoặc chỉ mục. ? php nếu (. isset($_SESSION)) { session_start(); . đăng nhập.

Làm cách nào để người dùng chỉ đăng nhập từ một thiết bị tại một thời điểm trong laravel?

Chỉ đăng nhập từ một thiết bị, f. Điều đó có thể là không thể vì mỗi thiết bị sẽ cần gửi một mã định danh duy nhất - điều mà thiết bị không thể. Ví dụ: Máy tính xách tay của bạn sẽ cần gửi một mã định danh duy nhất đến hệ thống Laravel, để ứng dụng Laravel của bạn biết rằng đó là Máy tính xách tay mà thông tin đăng nhập đến từ đó.