前端连接MQ账号密码怎么处理?

undefined
  • 1.7k

项目连接mq, 代码如下:

    /**初始化 ws 对象 */
    var ws = new WebSocket('ws://ip地址:15674/ws');
    /**获得Stomp client对象 */
    var client = Stomp.over(ws)
    /**定义连接成功回调函数 */
    var on_connect = function(x) {
      console.log('>>>连接上')
      const userId = localStorage.getItem('userName')
      if (!userId) return
      var id = JSON.parse(userId).userId
      var url = '/queue/' + id
      console.log(url)
      //data.body是接收到的数据
      client.subscribe(url, function(data) {
        var msg = data.body
        document.dispatchEvent(new Event('mq'))
        document.dispatchEvent(new Event('mqlist'))
        console.log('收到消息队列数据:' + msg)
      })
    }

    /**定义错误时回调函数 */
    var on_error = function() {
      console.log('error')
    }

    /**连接RabbitMQ  连接队列 输入 账号 密码*/
    client.connect('admin', '123456', on_connect, on_error, '/');
    client.debug = null

上面连ip、用户名、密码都写在了前端是否合理?
有什么好的建议

回复
阅读 921
2 个回答

建议让后端处理 前端消费后端提供的接口 如果考虑到后端接口安全 可以设置nginx安全白名单访问域名 这样只能你当前的web站点才能访问后端服务

看你代码的意思应该是想前端直接消费消息队列,初始化前可以通过调用后端的一个专门的接口获取需要的ip,用户名,密码,至于这个接口的安全问题,就是另一个问题了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏