外观
如何实现退出登录功能
这是什么?
就像离开俱乐部时需要交还会员卡一样,用户在使用完系统后需要安全退出。这个指南将教你如何添加"安全退出"功能。
🔑 配置步骤
设置系统配置
只需要在配置文件中添加退出登录的相关设置:
yaml
wueasy:
gateway:
filter:
session:
enabled: true # 启用会话管理
items:
- type: redis # 使用redis存储用户信息
redis-auto-expire: true # 自动延长登录状态
expire: PT1H # 登录信息1小时后过期
urls:
- /demo/** # 需要登录才能访问的地址
user-login-urls: /demo/login # 登录接口
user-logout-urls: /demo/logout # 退出登录接口
user-get-info-urls: /demo/getInfo # 获取用户信息接口
security-visitor-urls: # 不需要登录就能访问的接口
- /demo/login
- /demo/captcha
- /demo/logout # 退出登录不需要验证
security-login-urls: # 登录后才能访问的接口
- /demo/getInfo
# Redis数据库配置
spring:
data:
redis:
database: 9
host: 127.0.0.1 # Redis服务器地址
port: 6379 # Redis端口
password: 123456 # Redis密码
timeout: 3000 # 连接超时时间
🚀 如何使用
发送退出请求
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连接配置是否正确
- ✓ 验证网络连接是否正常
💡 使用建议
安全建议:
- 退出后立即清除本地存储的登录信息
- 在关键操作后提醒用户及时退出
- 定期检查未正常退出的会话
开发建议:
- 添加退出日志记录
- 实现自动退出功能
- 提供重新登录的快捷方式
🆘 需要帮助?
如果遇到问题,可以:
- 📝 查看系统日志:
./logs/gateway.log
- 🔍 检查Redis中的会话信息
- 🌐 确认网络连接正常
- 📋 检查配置文件格式