Skip to content

如何实现退出登录功能

这是什么?

就像离开俱乐部时需要交还会员卡一样,用户在使用完系统后需要安全退出。这个指南将教你如何添加"安全退出"功能。

�� 配置步骤

设置系统配置

在配置文件(config.yaml)中添加退出登录的相关设置:

yaml
gateway:
  filter:
    session:
      enabled: true  # 启用会话管理
      rules:
        - type: redis                    # 使用redis存储用户信息
          redis-auto-expire: true        # 自动延长登录状态
          expire: 1h                     # 登录信息1小时后过期
          urls:                          # 拦截的url地址
            - /demo/**
          user-login-urls:               # 登录接口地址
            - /demo/login
          user-get-info-urls:            # 获取用户信息的接口地址
            - /demo/getInfo
          user-logout-urls:              # 退出登录接口
            - /demo/logout
          security-visitor-urls:         # 不需要登录就能访问的接口
            - /demo/login
            - /demo/captcha
            - /demo/logout               # 退出登录不需要验证
          security-login-urls:           # 登录后才能访问的接口
            - /demo/getInfo

🚀 如何使用

发送退出请求

shell
curl --location --request POST "http://127.0.0.1:8080/demo/logout" \
--header "authorization: demo:1:2f202192dd2744b9f5589080d765e43e"

⚠️ 注意: 记得在请求头中带上authorization(登录凭证)

退出成功返回示例

json
{
    "code": 0,           // 0表示成功
    "successful": true   // true表示成功
}

❓ 常见问题

1. 退出失败?

  • ✓ 检查登录凭证(authorization)是否正确
  • ✓ 确认是否已经处于登录状态
  • ✓ 验证退出接口地址是否正确

2. 退出后还能访问系统?

  • ✓ 确认退出请求是否成功
  • ✓ 检查前端是否正确清除了登录信息
  • ✓ 验证缓存是否正确清除

3. Redis连接问题?

  • ✓ 确认Redis服务是否正常运行
  • ✓ 检查Redis连接配置是否正确
  • ✓ 验证网络连接是否正常

💡 使用建议

  1. 安全建议:

    • 退出后立即清除本地存储的登录信息
    • 在关键操作后提醒用户及时退出
    • 定期检查未正常退出的会话
  2. 开发建议:

    • 添加退出日志记录
    • 实现自动退出功能
    • 提供重新登录的快捷方式

🆘 需要帮助?

如果遇到问题,可以:

  1. 📝 查看系统日志:./logs/app.log
  2. 🔍 检查Redis中的会话信息
  3. 🌐 确认网络连接正常
  4. 📋 检查配置文件格式