联调注意事项清单

联调注意事项清单

1. 网络连通性

检查项 操作
端口开放 确认 192.168.81.54:8000 可被 192.168.92.16 访问
防火墙 关闭或放行8000端口的入站/出站规则
网络互通 ping命令测试 ping 192.168.81.54
bash 复制代码
# 在可视化系统服务器执行
ping 192.168.81.54
telnet 192.168.81.54 8000

2. SSO配置对齐

Django端配置 可视化系统需要保持一致
SSO_SHARED_SECRET Vue前端使用的密钥字符串
SSO_TRUSTED_IPS 可视化系统的IP 192.168.92.16
javascript 复制代码
// 可视化系统Vue前端 - 必须与Django配置完全一致!
const SSO_SECRET = 'django-insecure-9p0hc4+frflsh3tu0*8gr4-i@k754j61^9#l)4z#p)s3i%qf4-';

3. 用户名获取

javascript 复制代码
// 可视化系统需要正确获取当前登录用户名
goToDjango() {
    // 方式1: 从Cookie获取
    const username = this.getCookie('username');
    
    // 方式2: 从Vuex/Store获取
    const username = this.$store.state.user.username;
    
    // 方式3: 从LocalStorage获取
    const username = localStorage.getItem('username');
    
    // 方式4: 从API获取
    axios.get('/api/current-user').then(res => {
        window.location.href = `http://192.168.81.54:8000/sso/login/?username=${res.data.username}&sign=${this.generateSign(res.data.username)}`;
    });
}

4. 签名算法验证

javascript 复制代码
// 确保MD5计算正确
function generateSign(username) {
    // 方法1: 使用md5库
    return md5(SSO_SECRET + username);
    
    // 方法2: 使用在线工具验证
    // 输入: django-insecure-9p0hc4+frflsh3tu0*8gr4-i@k754j61^9#l)4z#p)s3i%qf4-admin
    // 输出应该是: c17ffac0afd6d09047c21a4ba7c120e5
}

5. Django端调试日志

查看日志确认请求来源:

bash 复制代码
# 启动Django并观察日志
python manage.py runserver 0.0.0.0:8000

日志中应显示:

复制代码
SSO登录尝试: username=zhangsan, IP=192.168.92.16
SSO登录成功: zhangsan from 192.168.92.16

6. 常见问题排查

问题 原因 解决方法
SSO登录来源未授权 IP不在白名单 检查 SSO_TRUSTED_IPS 配置
SSO登录验证失败 密钥不一致或签名错误 核对两边密钥和算法
SSO登录参数不完整 URL参数缺失 检查username和sign参数
连接超时 端口不通/防火墙拦截 检查网络和防火墙
用户未创建 自动创建用户失败 检查Django User模型权限

7. 快速测试命令

bash 复制代码
# 在可视化系统服务器上测试(模拟Vue跳转)
curl "http://192.168.81.54:8000/sso/login/?username=admin&sign=c17ffac0afd6d09047c21a4ba7c120e5"

# 预期: HTTP 302 -> 跳转到首页

8. 联调检查清单

  • 网络互通(ping/telnet测试)
  • Django服务运行在 0.0.0.0:8000
  • Vue前端SSO密钥与Django一致
  • 用户名正确获取和传递
  • MD5签名算法正确实现
  • 查看Django日志确认请求到达
  • 首次登录自动创建用户成功
相关推荐
FYKJ_20109 小时前
django电影推荐系统55066-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
Wx-bishekaifayuan10 小时前
springboot生活易购超市管理系统54086-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
溪语流沙16 小时前
Django + Vue电商项目第005讲:后端骨架|Django初始化、配置分层与DRF接入
vue.js·后端·python·django
FYKJ_201018 小时前
springboot鲜花销售系统91056-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
言乐62 天前
Python实现ai进化
python·django·virtualenv·pygame·tornado
言乐63 天前
Python排名统计折线图
开发语言·python·django·virtualenv·pygame
Wx-bishekaifayuan3 天前
springboot户外登山社交小程序19787-计算机课程设计、毕业设计
spring boot·后端·python·spring·elasticsearch·django·课程设计
FYKJ_20103 天前
springboot刑事案件管理系统03047-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
FYKJ_20103 天前
springboot助农产品销售商城05829-计算机课程设计、毕业设计
java·spring boot·python·mysql·spark·django
Wx-bishekaifayuan3 天前
springboot社区扶贫救助管理系统13300-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游