HTML5 Websocket HTTP身份验证失败;没有可用的有效凭据

HTML5 Websocket HTTP身份验证失败;没有可用的有效凭据,http,authentication,model-view-controller,websocket,Http,Authentication,Model View Controller,Websocket,我已经在MVC5应用程序中实现了HTML5 Websocket。我已经使用web API实现了这个web套接字。此代码在我的本地环境中运行良好。但它在我的测试环境中给了我以下的错误 到“”的WebSocket连接失败:HTTP身份验证失败;没有可用的有效凭据 我的服务器配置是带有IIS8的Windows server 2012 请帮助我。我们有一些客户仅在windows 2012服务器上出现此问题。这似乎与WebSocket的存在和存在有关。启用跨域解决了这些服务器上的问题 // Turn

我已经在MVC5应用程序中实现了HTML5 Websocket。我已经使用web API实现了这个web套接字。此代码在我的本地环境中运行良好。但它在我的测试环境中给了我以下的错误

到“”的WebSocket连接失败:HTTP身份验证失败;没有可用的有效凭据

我的服务器配置是带有IIS8的Windows server 2012


请帮助我。

我们有一些客户仅在windows 2012服务器上出现此问题。这似乎与WebSocket的存在和存在有关。启用跨域解决了这些服务器上的问题

  // Turn cross domain on 
    var config = new HubConfiguration { EnableCrossDomain = true };

    // This will map out to http://localhost:50001/signalr by default
    app.MapHubs(config);

我的原因是过滤器在服务器中拦截

@Override
public void doFilter(ServletRequest request, ServletResponse response,
                     FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse rep = (HttpServletResponse) response;
    handleRequest(req);

    // swagger 不过滤
    String ur = req.getRequestURI();
    if (req.getRequestURI().contains("swagger")
            || req.getRequestURI().contains("swagger")
            || req.getRequestURI().contains("v2/api-docs")
            || req.getRequestURI().contains("websocket")
            || req.getRequestURI().startsWith("/images/favicon-")
            || req.getRequestURI().startsWith("/configuration/")
            || req.getRequestURI().startsWith("/v2/editapi/") ) {

        chain.doFilter(request, response);
    }

我不知道它是否能帮助你,但值得一试

这里有一个古老的问题,请解释一下如何使用Web套接字(JS generic websocket)进行身份验证

请检查此问题:

请帮我解决这个问题。我很无助,基本上Chrome不会处理超过WebSocket的Win认证。您可以切换到“longPolling”传输。虽然已经有一段时间了,但是google已经解决了这个问题吗?在Signal中启用跨域的机制已经改变。以下是最新资料: