如何在Express应用程序上正确发送重定向到URL

时间:2017-08-14 13:10:52

标签: node.js http express redirect cors

我现在几天尝试在我的应用中发送有效的重定向请求。 会发生什么: 如果我尝试执行需要登录的操作,我的快速应用程序应重定向到登录URL。

void StartAudio(object sender, EventArgs ea)
{
      StartAudioService();

      Handler h = new Handler();
      Action myAction = () =>
      {
          audioServiceConnection.Binder.service.StartAudio();
      };
      h.PostDelayed(myAction, 200);
}

public void StartAudioService()
{
    var audioServiceIntent = new Intent(this, typeof(AudioService));
    audioServiceConnection = new AudioServiceConnection(this);
    BindService(audioServiceIntent, audioServiceConnection, Bind.AutoCreate);

    // when you use BindService method, it will start service automatically, there is no need to use StartService method again.
    //StartService(new Intent(this, typeof(AudioService)));       
}

我的CORS实施:

router.use(function(req,res,next){
    if(req.session.user == null){
        res.redirect('http://localhost:4200/#/login');
    }
    else
        next();
});

错误:

  

XMLHttpRequest无法加载http://localhost:4200/#/login。回应   预检请求没有通过访问控制检查:的值   '访问控制允许来源'响应中的标题不能是   通配符' *'当请求的凭据模式为' include'时。起源   '空'因此不允许访问。凭据模式   XMLHttpRequest发起的请求由   withCredentials属性。

在我的Angular App上,我发送{withCredentials:true}包含所有请求,因为我需要使用cookie来验证用户会话ID

1 个答案:

答案 0 :(得分:0)

经过大量的反复试验,我解决了这个问题: Angular应该拦截https请求并检查重定向。 以下是拦截器的实现方式: https://angular.io/guide/http#intercepting-all-requests-or-responses