4.2教学管理中心
本节实现教学管理中心实现身份校验,其它前端参考教学管理中心实现。
4.2.1 配置虚拟主机
教学管理前端访问微服务统一在访问地址前添加/api前缀并经过网关转发到微服务。
配置teacher.xuecheng.com虚拟主机。
#前端教学管理
upstream teacher_server_pool{
server 127.0.0.1:12000 weight=10;
}
#文件服务
upstream filesystem_server_pool{
server 127.0.0.1:22100 weight=10;
}
#媒资服务
upstream media_server_pool{
server 127.0.0.1:31400 weight=10;
}
#学成网教学管理中心
server {
listen 80;
server_name teacher.xuecheng.com;
#个人中心
location / {
proxy_pass http://teacher_server_pool;
}
location /api {
proxy_pass http://api_server_pool;
}
location /filesystem {
proxy_pass http://filesystem_server_pool;
}
#媒资管理
location ^~ /api/media/ {
proxy_pass http://media_server_pool/media/;
}
#认证
location ^~ /openapi/auth/ {
proxy_pass http://auth_server_pool/auth/;
}
}
4.2.2身份校验
教学管理中心是单页面应用,我们在路由变化时校验用户的身份,校验失败将跳转到登录页面。
校验方法如下:
1、如果成功从sessionStorage和cookie获取当前用户则继续访问
2、如果sessionStorage中无当前用户,cookie中有当前用户则请求服务端获取jwt,如果成功则继续访问。
3、以上两种情况都不满足则跳转到登录页面。
在main.js中添加路由监控代码,如下: