Let's Go احراز هویت کاربر › خروج کاربر
قبلی · فهرست · بعدی
فصل ۱۰.۵.

خروج کاربر (User Logout)

در این بخش، نحوه پیاده‌سازی خروج کاربر (User Logout) را بررسی می‌کنیم. این شامل پایان نشست (Session Termination)، پاکسازی کوکی‌ها (Cookie Cleanup) و هدایت کاربر (User Redirection) می‌شود.

در عین حال، بهتر است شناسه جلسه را دوباره تجدید کنیم و همچنین یک پیام فلش به داده‌های جلسه اضافه کنیم تا به کاربر تأیید کنیم که از سیستم خارج شده است.

بیایید handler userLogoutPost را به‌روزرسانی کنیم تا دقیقاً این کار را انجام دهد.

File: cmd/web/handlers.go
package main

...

func (app *application) userLogoutPost(w http.ResponseWriter, r *http.Request) {
    // Use the RenewToken() method on the current session to change the session
    // ID again.
    err := app.sessionManager.RenewToken(r.Context())
    if err != nil {
        app.serverError(w, r, err)
        return
    }

    // Remove the authenticatedUserID from the session data so that the user is
    // 'logged out'.
    app.sessionManager.Remove(r.Context(), "authenticatedUserID")

    // Add a flash message to the session to confirm to the user that they've been
    // logged out.
    app.sessionManager.Put(r.Context(), "flash", "You've been logged out successfully!")

    // Redirect the user to the application home page.
    http.Redirect(w, r, "/", http.StatusSeeOther)
}

فایل را ذخیره کنید و برنامه را مجدداً راه‌اندازی کنید. اگر اکنون روی لینک ‘خروج’ در نوار ناوبری کلیک کنید، باید از سیستم خارج شده و به صفحه اصلی هدایت شوید، به این صورت:

10.05-01.png

واژه‌نامه اصطلاحات فنی

اصطلاح فارسی معادل انگلیسی توضیح
خروج کاربر User Logout فرآیند خروج از حساب کاربری
پایان نشست Session Termination پایان دادن به نشست کاربری
پاکسازی کوکی‌ها Cookie Cleanup حذف کوکی‌های نشست
هدایت کاربر User Redirection انتقال کاربر به صفحه دیگر
هندلر خروج Logout Handler پردازش‌کننده درخواست خروج
کد برنامه Application Code کد منبع برنامه
امنیت نشست Session Security حفاظت از نشست کاربری
مدیریت نشست Session Management کنترل نشست‌های کاربری
حذف نشست Session Removal پاک کردن اطلاعات نشست
صفحه خروج Logout Page صفحه پردازش خروج